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