王文東+劉繼梅+王嵃灝+武海妮
摘要: 云計(jì)算環(huán)境下的軟件測試技術(shù)簡稱“云測試”。其利用云計(jì)算在資源管理、使用等方面的優(yōu)勢對傳統(tǒng)軟件測試功能進(jìn)行了拓展,使得軟件測試的應(yīng)用前景更加廣泛。文章通過分析文獻(xiàn)給出了云測試的定義并根據(jù)定義對云測試進(jìn)行了分類闡述,通過對云測試的服務(wù)過程和服務(wù)模式研究給出相應(yīng)的圖形表示并對云測試的前沿性應(yīng)用在三個(gè)方面進(jìn)行了闡述,以便為以后研究云測試的相關(guān)人員提供參考。
關(guān)鍵詞:云計(jì)算;軟件測試;云測試;云服務(wù)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)27-0239-03
Abstract: Software testing technology of cloud computing environment referred to as "cloud testing". The use of cloud computing in the aspects of resource management, use advantage to expand the traditional software testing function, make the software testing more broad application prospects. In this paper, through the analysis of the literature presents the definition of cloud testing and classification elaborated according to the definition of cloud testing, through the service process and service model of cloud testing study gives the corresponding graphical representation and the frontier of the cloud testing application are expounded in three aspects, in order to investigate the relevant personnel to provide the reference of cloud testing.
Key words: cloud computing ; software testing ; cloud testing ; cloud services
隨著信息和計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展,軟件的應(yīng)用越來越廣泛,軟件測試也伴隨軟件技術(shù)的發(fā)展而產(chǎn)生。在軟件開發(fā)的整個(gè)過程中,軟件測試都貫穿始終。由此可見,軟件測試與軟件開發(fā)對軟件質(zhì)量具有同等重要意義。但是,傳統(tǒng)的軟件測試在測試的過程中具有一定的局限性,操作效率并不高。而將云計(jì)算技術(shù)與軟件測試技術(shù)相結(jié)合后,便可以很好地解決傳統(tǒng)軟件測試的弊端。本文對在云計(jì)算環(huán)境下的軟件測試進(jìn)行研究,是具有實(shí)際意義的。
1 云測試定義及分類
1.1 云測試的定義
云計(jì)算環(huán)境下的軟件測試簡稱云測試,是一種新型測試方案。云測試在文獻(xiàn)中的定義因其考慮的角度不同解釋也不同。主要包括:
定義1:云測試是一種有效利用云計(jì)算環(huán)境資源對于其他軟件進(jìn)行的測試或是一種針對部署在“云”中的軟件進(jìn)行的測試[1]。
定義2:云測試是指服務(wù)商將云計(jì)算環(huán)境作為測試平臺,將軟件測試服務(wù)提供給軟件測試客戶,主要是針對服務(wù)的提供[2]。
定義3:云測試是指測試即服務(wù)的交付和使用模式,即測試服務(wù)提供商利用云計(jì)算平臺給用戶提供的第三方軟件測試服務(wù)[3]。
三種不同的文獻(xiàn)定義中,定義1主要強(qiáng)調(diào)云測試所針對的對象是否在云中;定義2主要強(qiáng)調(diào)云測試的平臺和服務(wù);定義3主要強(qiáng)調(diào)是否存在第三方測試服務(wù)。上述三種對云測試的定義都只是從一種角度出發(fā)來解釋,不夠全面。因此,本文綜合上面文獻(xiàn)的表述給出云測試的定義:
云測試是指在云計(jì)算環(huán)境下,服務(wù)商根據(jù)用戶需求、按照計(jì)費(fèi)的方式提供軟件測試服務(wù),包括基于云計(jì)算的軟件測試、面向云計(jì)算的軟件測試以及對同時(shí)涉及這兩方面軟件的測試。
1.2 云測試的分類
通過上述的定義,可以得出云測試的分類主要包括以下三類:
1) 基于云計(jì)算的軟件測試。該測試主要利用云中的資源池對其他需要測試的軟件系統(tǒng)進(jìn)行測試。其特點(diǎn)包括:工作環(huán)境多樣化、服務(wù)對象多樣化、軟件測試需求廣泛化、服務(wù)內(nèi)容多樣化。在進(jìn)行測試的過程中,我們主要考慮如何進(jìn)行資源調(diào)度。文獻(xiàn)[4]給出了相應(yīng)的調(diào)度方法并進(jìn)行了驗(yàn)證。其主要思想是:對n個(gè)相互獨(dú)立的任務(wù)分配m個(gè)虛擬機(jī),當(dāng)n
上述思想雖然很好地解決了云測試時(shí)資源調(diào)度的問題,但同時(shí)也存在一些不足:1)當(dāng)任務(wù)數(shù)量n大于虛擬機(jī)數(shù)量m時(shí),優(yōu)先級低的任務(wù)需要等待時(shí)間較長;2)每次分配虛擬機(jī)都需要比較所有任務(wù)的優(yōu)先級,相當(dāng)于進(jìn)行一次遍歷,執(zhí)行時(shí)所占內(nèi)存較大。因此,針對云測試的資源調(diào)度優(yōu)化也是非常重要的。
2) 面向云計(jì)算的軟件測試。在利用云平臺中的軟件對其他軟件進(jìn)行測試之前,必須保證云平臺中的軟件是可靠的、有效的。所以,面向云計(jì)算的軟件測試是指:對部署在云環(huán)境中的各種云計(jì)算軟件進(jìn)行測試。其測試方法與傳統(tǒng)的軟件測試從軟件開發(fā)的過程按階段劃分相類似,包括單元測試、集成測試、系統(tǒng)測試、性能測試、回歸測試以及安全性測試等,并且測試過程大多采用自動化測試的方法。但是傳統(tǒng)的軟件測試所需資源不是現(xiàn)成的,每次測試都需要搭建平臺環(huán)境。而云測試可以利用已有平臺測試環(huán)境直接進(jìn)行測試,大大降低了成本。文獻(xiàn)[5]使用蟻群算法調(diào)度測試任務(wù)進(jìn)行自動化測試,該方法雖能夠提高自動化測試的效率,但其具有一定的局限性,即它一般需要較長的執(zhí)行時(shí)間并且在少數(shù)情況下會陷入局部最優(yōu)解。
3) 遷移測試到“云”中。該測試是上述兩種測試方法的綜合,它主要是把傳統(tǒng)的測試方法、過程、管理、框架遷移到云環(huán)境中[1]。雖然遷移測試到“云”中具備了上述兩種測試方法的優(yōu)點(diǎn),但其也具有一定的局限性。1)兼容性:傳統(tǒng)的測試方法遷移到云環(huán)境中是否能夠不受云環(huán)境中其他因素影響;2)安全性:將軟件測試遷移到云環(huán)境中是否能夠保證軟件的安全隱私不被泄露;3)通用性:在不同的云測試平臺環(huán)境下軟件測試結(jié)果是否一致。
2 云測試過程管理研究
2.1 云計(jì)算軟件測試服務(wù)過程
云測試的過程步驟如圖1所示:1)用戶登錄web界面,通過咨詢客服人員根據(jù)軟件的功能及特點(diǎn)設(shè)計(jì)在云環(huán)境中所用測試方法及測試用例。2)根據(jù)測試用例以及價(jià)格模式選擇云服務(wù)提供商。3)云服務(wù)提供商建立基礎(chǔ)設(shè)施并配置虛擬機(jī),利用云服務(wù)開始測試,測試過程中需要監(jiān)控測試目標(biāo)。4)云服務(wù)提供商把測試結(jié)果交付給用戶,用戶根據(jù)結(jié)果評估軟件的功能是否符合預(yù)期要求、軟件是否可靠等方面的問題。
2.2 云計(jì)算軟件測試服務(wù)模式
云計(jì)算軟件測試的服務(wù)模式如圖2所示:整個(gè)云體系包括終端用戶、資源池以及云服務(wù)提供商,終端用戶通過web訪問獲取云服務(wù)商提供的各種資源,包括:基礎(chǔ)設(shè)施、物理資源、測試服務(wù)和虛擬機(jī)。而這些資源是根據(jù)用戶自身需求進(jìn)行動態(tài)分配的,用戶使用完成后,再把這些資源重新放入到資源池中。所以說,云計(jì)算環(huán)境下的軟件測試是資源池的最大化使用,大大節(jié)約了成本。
3 云測試的前沿性應(yīng)用
目前學(xué)術(shù)界的研究方向主要集中在基于云計(jì)算技術(shù)對軟件的功能測試,很少有學(xué)者關(guān)注在云計(jì)算環(huán)境下的軟件測試的前沿性應(yīng)用,本文主要從學(xué)術(shù)界、工業(yè)界和軍事三個(gè)方面對云測試的前沿性應(yīng)用進(jìn)行闡述。
3.1 云測試在學(xué)術(shù)界的應(yīng)用
云測試在學(xué)術(shù)界的應(yīng)用主要是國內(nèi)外各大高校的學(xué)者和專家進(jìn)行的研究。日本筑波大學(xué)研究開發(fā)了一個(gè)基于云計(jì)算的可靠并行分布式軟件測試平臺,支持虛擬故障插入技術(shù);瑞士洛桑大學(xué)研究構(gòu)造了一個(gè)基于云計(jì)算的集群平臺,為大型的軟件系統(tǒng)開發(fā)提供集成開發(fā)環(huán)境和測試工具;英國約克大學(xué)研究構(gòu)造的自動化測試工具可以部署在云計(jì)算平臺中;芬蘭拉普蘭塔理工大學(xué)研究云計(jì)算環(huán)境下軟件測試和預(yù)期的軟件質(zhì)量之間的關(guān)系并提出“測試即服務(wù)”[3]?,F(xiàn)在國內(nèi)很多學(xué)者也致力于研究云計(jì)算環(huán)境下的軟件測試,并關(guān)于測試的資源調(diào)度和優(yōu)化處理算法等方面取得了一定的進(jìn)展。如今,各大高校在軟件測試方面開設(shè)的課程主要是面向傳統(tǒng)的軟件測試方法。隨著云測試研究的不斷深入,在未來的高校開設(shè)課程中,可以適當(dāng)引入云計(jì)算以及云測試方面的內(nèi)容,讓學(xué)生們能夠更好的學(xué)習(xí)前沿性科學(xué)知識。
3.2 云測試在工業(yè)界的應(yīng)用
云測試在工業(yè)界的應(yīng)用相對學(xué)術(shù)界來說更加廣泛。目前主要提供云測試服務(wù)的商業(yè)平臺有:Testin公司開發(fā)的Testin云測試服務(wù)平臺、Cloud公司開發(fā)的Cloud Testing云測試平臺、Keynote公司發(fā)布的Kite工具、SOASTA公司發(fā)布的Cloud Test測試平臺。這些平臺主要分為私有云、公共云和混合云三種類型,提供的業(yè)務(wù)模式有自行測試和測試外包兩種。綜上所述,云測試主要應(yīng)用于以下三個(gè)方面[6]:1)測試人員利用云測試服務(wù)商提供的測試環(huán)境,運(yùn)行自己的測試用例;2)云測試服務(wù)商為測試人員提供測試執(zhí)行的服務(wù);3)測試中需要使用軟件工具或測試運(yùn)行于不同測試環(huán)境都可進(jìn)行云測試。
3.3 云測試在軍事方面的應(yīng)用
文獻(xiàn)[12]研究探索得出云測試在軍事方面的前沿性應(yīng)用主要表現(xiàn)在以下三個(gè)方面:1)適應(yīng)基地化保障的發(fā)展趨勢,解決測試系統(tǒng)“孤島”問題;2)提高TPS開發(fā)效率,迅速響應(yīng)被測對象升級;3)提高測試與診斷信息處理能力,形成裝備健康數(shù)據(jù)的全局視圖。云測試在軍事方面的應(yīng)用對于云測試的安全性指標(biāo)有較高要求,而現(xiàn)在云測試存在的最大問題就是數(shù)據(jù)安全得不到保障,所以未來對云測試安全問題的研究是重中之重。
4 結(jié)束語
本文對云計(jì)算環(huán)境下的軟件測試進(jìn)行了研究,總結(jié)了云測試的定義、云測試的分類并對云測試的過程及模式給出了明確的敘述。隨著云測試技術(shù)帶來的一系列明顯優(yōu)勢,相信云計(jì)算環(huán)境下的軟件測試在未來的軟件開發(fā)過程中會占據(jù)越來越重要的地位,云測試必將受到大規(guī)模的普及與應(yīng)用。
參考文獻(xiàn):
[1] 李喬,柯棟梁,王小林.云測試研究現(xiàn)狀綜述[J].計(jì)算機(jī)應(yīng)用研究,2012,12(29):4401-06.
[2] 呂志陽.云計(jì)算環(huán)境下的軟件測試服務(wù)分析[J].信息工程.科技展望,2016,02:1-3.
[3] 王偉軍,姜毅,劉蕤,Kari Smolander.云計(jì)算環(huán)境下軟件測試研究進(jìn)展[J].現(xiàn)代圖書情報(bào)技術(shù),2012(11):3-9.
[4] 田麗迎,王宇,姜雪婷.基于云計(jì)算的軟件測試中的調(diào)度問題研究[J].計(jì)算機(jī)與現(xiàn)代化,2016(10):62-66.
[5] 顧宇隆,杜明,劉振宇,等.基于本體的云測試資源分配與任務(wù)調(diào)度方法[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(11):14-35.
[6] 曹詠春,劉小君.云測試綜述[J].現(xiàn)代計(jì)算機(jī),2011(10):25-28.
[7] 雷萬保.云計(jì)算環(huán)境下的軟件測試研究[J].信息化研究,2013,39(1):1-3.
[8] 徐小平.云計(jì)算環(huán)境下的軟件測試服務(wù)分析[J].電腦與電信,2016(3):64-66.
[9] 何世亮.元計(jì)算環(huán)境下的軟件測試服務(wù)分析[J].數(shù)字技術(shù)與應(yīng)用,2016(6):0228.
[10] 陳陽.云計(jì)算環(huán)境下的軟件測試服務(wù)研究[J].信息通信,2015(12):0190.
[11] 周有志.基于云計(jì)算分布式系統(tǒng)性能測試技術(shù)研究與應(yīng)用[D].東華大學(xué),2015.
[12] 肖明清,楊召,趙鑫.云測試的概念及其應(yīng)用探索[J].計(jì)算機(jī)測量與控制,2016,24(1):1-11.
[13] John Watkins.實(shí)用軟件測試過程[M].北京:機(jī)械工業(yè)出版社,2004.endprint