何寧+卓春英
摘要:隨著科學(xué)技術(shù)的不斷發(fā)展,計算機技術(shù)與電子信息技術(shù)出現(xiàn)了飛躍式的發(fā)展。隨著計算機技術(shù)的不斷革新,云計算服務(wù)形式的時代已經(jīng)到來,云計算時代的到來徹底地改變了過去的軟件應(yīng)用與設(shè)計形式,并為其帶來了全新的服務(wù)形式。在這種背景下,人們對于計算機技術(shù)條件下的網(wǎng)絡(luò)服務(wù)技術(shù)體系提出了新的更高的要求,基于云計算的軟件測試需求不斷增多,這就要求對計算機服務(wù)網(wǎng)絡(luò)進行不斷地優(yōu)化與完善,并通過相關(guān)的測試方式與技術(shù)進行管理與監(jiān)督。該文將以云計算作為研究基礎(chǔ),通過探討云計算軟件測試的定義、特點分類、測試平臺以及測試服務(wù)等,對目前云計算環(huán)境下的軟件測試研究進展進行介紹,并提出必要的研究性問題。
關(guān)鍵詞:云計算;軟件測試;研究進展;平臺
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)22-0058-02
近年來隨著計算機技術(shù)的快速發(fā)展,云計算服務(wù)形式已經(jīng)悄然來臨,在云計算環(huán)境下,軟件的架構(gòu)設(shè)計以及軟件的生產(chǎn)與組織等都發(fā)生了深刻的變化,同時也為架構(gòu)設(shè)計以及軟件的生產(chǎn)與組織的設(shè)計帶來了巨大的影響。在云計算服務(wù)模式下,軟件服務(wù)、基礎(chǔ)設(shè)施服務(wù)、平臺服務(wù)都成為云計算的主要服務(wù)模式,隨著服務(wù)模式的變化也使得軟件的消費方式與生產(chǎn)方式產(chǎn)生了深刻的變化,因此與之相關(guān)的軟件測試的技術(shù)、方式、工具等都需要進行改變。在這種新的服務(wù)環(huán)境之下,將整個測試軟件的進程都移動到了云中,因此也就產(chǎn)生了基于云計算平臺的軟件測試。
1 云計算環(huán)境下的軟件測試
1)云計算軟件測試內(nèi)涵
目前學(xué)術(shù)界對于以云計算為基礎(chǔ)的軟件測設(shè)還沒有一個明確的定義與概念,不同的研究重點對于其內(nèi)涵的定義也大有不同,主要可以概括為以下幾種。定義一:以云計算為基礎(chǔ)的軟件測試主要是指Web的應(yīng)用程序通過應(yīng)用計算功能來對真實的世界當(dāng)中的用戶流量進行模擬的一種軟件性測試活動;定義二:以云計算為基礎(chǔ)的軟件測試主要是指以云計算環(huán)境以及其中的基礎(chǔ)性設(shè)施為基礎(chǔ),同時應(yīng)用云技術(shù)及其相關(guān)的解決方案而實施的測量與測試活動;定義三:云計算為基礎(chǔ)的測試有兩個層面含義:首先是利用現(xiàn)行的云環(huán)境中所提供的服務(wù)資源,比較真切的模擬用戶的負載[1],從而實現(xiàn)高效、快速的壓力測試與負載;其次是對云計算環(huán)境下的基礎(chǔ)性服務(wù)設(shè)施及其上層的以云計算為基礎(chǔ)的應(yīng)用程序?qū)嵤┑挠嬎恪?/p>
2)云計算軟件測試的特點
由于云計算的軟件測設(shè)中應(yīng)用了不同的創(chuàng)新型服務(wù)以及創(chuàng)新型技術(shù),因此相對于傳統(tǒng)的計算機軟件測試,云計算軟件測試具有多個不同的特點。首先在基礎(chǔ)服務(wù)設(shè)施方面,以云計算服務(wù)為基礎(chǔ)的軟件測試中其基礎(chǔ)服務(wù)設(shè)施的提供來源不同,是由提供云服務(wù)的服務(wù)商在云計算服務(wù)平臺中實施的,在這種提供模式下,用戶可以方便的享受服務(wù)而無需自行購買;在付費方式上,用戶可以更具自身的需求進行購買,同時依據(jù)軟件測試的相關(guān)項目的測試目標(biāo)、測試規(guī)模以及測試所花費的時間等來進行付費[2];對測設(shè)人員也提出了新的要求,同時還可以利用眾包等方式來對特殊領(lǐng)域中需要專家專業(yè)知識實施的測試進行服務(wù)。
2 云計算軟件測試的功能范疇及分類
2.1 云計算軟件測試的范圍
云計算軟件測試的范圍主要能夠分為三個層次:第一個層次中主要集中在對于云計算服務(wù)平臺本身的測試,也就是對于云計算服務(wù)平臺中基礎(chǔ)性服務(wù)設(shè)施的服務(wù)功能與能力的測試;第二個層次主要集中在對于相關(guān)的軟件開發(fā)商通過應(yīng)用運計算服務(wù)平臺中獲取的資源而實施的多項軟件測試活動,在該層中重點關(guān)注的問題是云計算平臺的自動化測試的相關(guān)工具、與計算的測試技術(shù)以及云計算測試項目中的管理性技術(shù)等;第三個層次中主要集中在云計算軟件測試中新興的服務(wù)模式的研究,在該層中提供面向用戶需求的軟件測試的相關(guān)服務(wù)市場,這也是云計算軟件測試范圍內(nèi)的研究重點與研究難點[3]。
2.2 云計算軟件測試的分類
1)基于測試任務(wù)的分類
云計算軟件的測試范圍按照測試任務(wù)進行分類,主要能夠分為功能測試、負載測試、兼容性測試、壓力測試、延遲測試、瀏覽器性能測試、性能測試以及延遲測試八種主要類型。以云計算為基礎(chǔ)的軟件測試環(huán)境中的壓力測試主要是借助云計算平臺當(dāng)中的超強的測試能力,對軟件測試系統(tǒng)當(dāng)中的性能性瓶頸進行確定,從而獲取了系統(tǒng)中強大的服務(wù)級別[4]。功能性測試主要包括非SaaS軟件中的各個模塊以及測試的SaaS的系統(tǒng)功能。安全測試即驗證SaaS以及非SaaS軟件相關(guān)的系統(tǒng)性能[5]。
2)基于測試用戶角色分類
根據(jù)云計算服務(wù)的用戶不同、提供商不同以及系統(tǒng)開發(fā)人員的不同,同時依據(jù)云計算環(huán)境的不同能夠?qū)⒃朴嬎愕能浖y試分為四種類型:第一種是在云中實施的測試SaaS,在該類型當(dāng)中主要功能是保障SaaS的功能以其非功能性的服務(wù)要求的質(zhì)量;第二種類型是云內(nèi)實施的測試,該類型當(dāng)中主要從云計算的內(nèi)部中對云計算的相關(guān)基礎(chǔ)設(shè)施以及特殊的云計算能力實施的質(zhì)量和功能檢測;第三種類型是云外實施的測試,主要從云計算的外部角度上對云計算當(dāng)中特定的服務(wù)與功能性的特征實施的質(zhì)量和功能檢測;第四種類型是云上的測試,該類型中主要是利用云計算平臺當(dāng)中設(shè)置在云端的相關(guān)服務(wù)性應(yīng)用進行測試[6]。
3 云計算軟件功能測試平臺
1)研究型云測試平臺
構(gòu)建以云計算為基礎(chǔ)的測試平臺,主要是利用了云計算服務(wù)當(dāng)中的專門適用于測試軟件的綜合性大規(guī)模測試系統(tǒng)平臺,同時研究型云測試平臺也是當(dāng)前云計算測試與研究當(dāng)中重點研究的問題。目前日本、美國、瑞士、英國以及芬蘭等多個國家中的大學(xué)已經(jīng)開啟了與之相關(guān)的研究性項目,試圖建立一個研究型的云計算測試平臺。
2)商業(yè)云測試平臺
在商業(yè)產(chǎn)業(yè)界當(dāng)中,已經(jīng)有非常多的集團公司開始著手與研究可以支持商業(yè)性測試的云計算服務(wù)平臺,并且也在不斷地探索相關(guān)的解決方案,目前已經(jīng)出現(xiàn)了諸多的商業(yè)性的云計算軟件測試平臺。
3)云測試平臺技術(shù)構(gòu)架
基于云計算服務(wù)的軟件測試平臺是一個綜合性的并且非常復(fù)雜的系統(tǒng),其中包含了硬件、軟件以及服務(wù)等多項功能[7]。目前由日本筑波大學(xué)研究的D-Cloud平臺能夠應(yīng)用在規(guī)模較大的并行分配的體統(tǒng)測試當(dāng)中,同時該測試系統(tǒng)中還引進了虛擬性的故障插入技術(shù)。由瑞士洛桑理工大學(xué)研究的Cloud9平臺能夠通過云計算的平臺服務(wù)建立與亞馬遜EC2平臺相類似的公共云計算平臺,同時也能建立于Eucalyptus等相關(guān)軟件中私有的云環(huán)境中。英國的約克大學(xué)在YETI項目當(dāng)中通過在云計算服務(wù)平臺中部署的相關(guān)實踐性活動,構(gòu)建了關(guān)于YETI的云測試系統(tǒng)構(gòu)架,同時該大學(xué)也探究和分析了云測試當(dāng)中安全與性能的相關(guān)性問題,同時YETI的建立以亞馬孫的EC2平臺作為基礎(chǔ),能夠有效的支持Java的相關(guān)程序的隨機性的自動化測試[8]。這些不同類型的云測試平臺大眾所利用的技術(shù)重點有所不同,在D-Cloud平臺當(dāng)中重點探究了對分布式的系統(tǒng)進行測試的方式以及虛擬化的故障插入,在Cloud9平臺當(dāng)中重點探究了云計算測試的服務(wù)以及集成開發(fā)的環(huán)境,在YETI項目當(dāng)中重點探究了云計算環(huán)境中的自動化測試工具的相關(guān)性能與質(zhì)量。
4 云計算軟件功能測試服務(wù)
云計算的軟件測試服務(wù)中主要研究了價格模型、服務(wù)模型以及服務(wù)質(zhì)量的評價模型,現(xiàn)階段對以上三項內(nèi)容的主要研究成果如下:
1)服務(wù)模型
相關(guān)專家和學(xué)者探究了關(guān)于云計算軟件測試中服務(wù)的相關(guān)理論性課題,借助圖論等相關(guān)研究工具建立了與服務(wù)模型相關(guān)的理論模型。例如,通過應(yīng)用圖論建立了云計算的模型,將服務(wù)性的資源當(dāng)做圖論中的重點內(nèi)容和節(jié)點,將與資源相關(guān)的以及使用資源的內(nèi)容當(dāng)做圖的邊界[9]。在以云計算為基礎(chǔ)的云計算圖模型當(dāng)中,構(gòu)建了應(yīng)用型的測試算法以及標(biāo)準(zhǔn)。另有專家通過研究云計算服務(wù)環(huán)境中的企業(yè)內(nèi)部的自建型軟件,驗證了云計算服務(wù)的差異與外部消費當(dāng)中的內(nèi)在聯(lián)系,同時也構(gòu)建了初始的模型。
2)價格模型
當(dāng)前環(huán)境下的云計算平臺當(dāng)中,例如亞馬孫的EC2平臺等都是通過對資源的相關(guān)租用的時間為依據(jù)來實施收費,然而以云計算為基礎(chǔ)的測試當(dāng)中的收費方式并不一定能完全地適應(yīng)這種收費方式。有學(xué)者認為以云計算為基礎(chǔ)的軟件測試當(dāng)中更強調(diào)關(guān)注長尾用戶,進而通過規(guī)模效應(yīng)來取得收益[10]。另有部分學(xué)者站在Cloud9平臺項目的角度上,認為基于云計算的軟件測試平臺有其自身的特點,因此在收費方式的確定上應(yīng)該考慮用戶的測試目標(biāo),進而確定收費方式。
3)服務(wù)質(zhì)量的評價模型
以云計算為基礎(chǔ)的軟件測試活動能夠看成軟件的測試人員為軟件的開發(fā)方以及終端用戶提供的失誤最小化、軟件驗證以及軟件確認等方面的服務(wù)。高質(zhì)量的服務(wù)對于提升軟件測試的效率和水平具有重要的影響作用,測試人員提供的軟件測試服務(wù)對終端用戶以及軟件的開發(fā)者提供著雙向的服務(wù),有學(xué)者對這兩種服務(wù)進行了定義,確定為服務(wù)Ⅰ與服務(wù)Ⅱ,同時還構(gòu)造了局域云計算服務(wù)平臺的軟件測試的服務(wù)質(zhì)量的評價模型。
5 結(jié)論
隨著計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)的不斷進步和發(fā)展,云計算服務(wù)使得傳統(tǒng)的商業(yè)行運作模式與產(chǎn)業(yè)結(jié)構(gòu)等都發(fā)生了深刻的變化,同時商業(yè)行運作模式與產(chǎn)業(yè)結(jié)構(gòu)也在不斷地完善和成熟,以云計算為基礎(chǔ)的軟件測試都需要通過不斷地對自身的業(yè)務(wù)進行精準(zhǔn)的定位,并且在此基礎(chǔ)上從不同層次推進云計算的完善與發(fā)展,然而就目前的運行狀況來看,以云計算為基礎(chǔ)的軟件測試中還存在著諸多的問題亟待解決。因此在未來的云計算軟件測試研究工作中仍然需要不斷地進行努力,深入研究面向云計算的軟件測試系統(tǒng)的測試用例集以及自動化測試工具的構(gòu)建等,從而促進云計算軟件測試領(lǐng)域的不斷發(fā)展與完善。
參考文獻:
[1] 史習(xí)陽.基于云計算環(huán)境下的軟件測試探討[J].硅谷,2014,8(9):58+66.
[2] 喬冰琴.云計算在軟件測試教學(xué)中的應(yīng)用研究[J].山西財政稅務(wù)??茖W(xué)校學(xué)報,2014,3(2):72-74.
[3] 王昕,沈明磊.基于云計算環(huán)境下的軟件測試探討[J].電子技術(shù)與軟件工程,2014,8(15):72.
[4] 王意潔,孫偉東,李小勇.云計算環(huán)境下的分布存儲關(guān)鍵技術(shù)[J].軟件學(xué)報,2012,6(4):962-986.
[5] 林德根,梁勤歐.云GIS的內(nèi)涵與研究進展[J].地理科學(xué)進展,2012,2(11):1519-1528.
[6] 李喬,柯棟梁,王小林.云測試研究現(xiàn)狀綜述[J].計算機應(yīng)用研究,2012,8(12):4401-4406,4425.
[7] 陳陽.云計算環(huán)境下的軟件測試服務(wù)研究[J].信息通信,2015,10(12):190.
[8] 周顯明,李建軍,王莉華,等.基于云計算的測試公共服務(wù)平臺設(shè)計技術(shù)[J].微型機與應(yīng)用,2015,11(4):14-16.
[9] 馮登國,張敏,張妍,等.云計算安全研究[J].軟件學(xué)報,2011,12(1):71-83.
[10] 葉可江,吳朝暉,姜曉紅,等.虛擬化云計算平臺的能耗管理[J].計算機學(xué)報,2012,7(6):1262-1285.