徐小平
(鄂州職業(yè)大學(xué)計算機(jī)學(xué)院,湖北 鄂州 436000)
云計算環(huán)境下的軟件測試服務(wù)分析
徐小平
(鄂州職業(yè)大學(xué)計算機(jī)學(xué)院,湖北 鄂州 436000)
信息技術(shù)的快速發(fā)展為各行業(yè)領(lǐng)域注入新鮮的活力。以軟件測試服務(wù)為例,傳統(tǒng)測試方法應(yīng)用下,測試效率難以得到保障,且需耗費較多成本,而云計算環(huán)境下,軟件測試更具便捷、高效等特點,且?guī)в幸欢ǖ淖詣踊卣?。本文主要對云計算技術(shù)的相關(guān)概述、傳統(tǒng)軟件測試的主要方法、云計算環(huán)境下軟件測試服務(wù)交互平臺的設(shè)計以及軟件測試中測試云系統(tǒng)的構(gòu)建進(jìn)行探析。實現(xiàn)云計算環(huán)境下的軟件測試,滿足現(xiàn)代軟件測試高效、便捷等要求。
軟件測試;云計算環(huán)境;交互平臺;測試云系統(tǒng)
作為軟件產(chǎn)品開發(fā)的重要環(huán)節(jié),軟件測試在傳統(tǒng)環(huán)境下采用的手段多以勞動密集型手工方式為主,測試周期較長,人員實際操作中多會產(chǎn)生枯燥之感,整個測試的成本極高。在此背景下,云計算環(huán)境便被引入其中,該環(huán)境涉及到較多基礎(chǔ)設(shè)施即服務(wù)、平臺即服務(wù)、軟件即服務(wù)等服務(wù)模式,使軟件測試可在該虛擬環(huán)境下完成。但如何使軟件測試在云計算環(huán)境下實現(xiàn),還需做好交互平臺設(shè)計與測試云系統(tǒng)構(gòu)建工作。因此,本文對軟件測試在云計算環(huán)境下的實現(xiàn)研究,具有十分重要的意義。
關(guān)于云計算,其主要指以互聯(lián)網(wǎng)技術(shù)為依托的一種計算方式,可直接將共享信息、軟硬件資源向計算機(jī)提供。從云計算服務(wù)的特征看,主要表現(xiàn)為資源池可為多人共享、用戶終端處理較為便利且資源部署得以實現(xiàn)。而在此基礎(chǔ)上提出的軟件測試自動化,無需通過測試腳本錄制、測試用例設(shè)計等,可直接在計算機(jī)中操作便可獲取相關(guān)的期望數(shù)據(jù),軟件硬件資源能夠得到合理化配置,且整體測試效率較高。一般自動化測試中,可應(yīng)用的范圍集中表現(xiàn)在:①對于單擊鍵測試、數(shù)據(jù)重復(fù)錄入等,可采取自動化測試方式,如回歸測試等;②在驗證設(shè)計文檔或測試人員了解程序等方面,需引入測試自動化工具;③若需對用例覆蓋路徑、程序控制流程進(jìn)行測試,應(yīng)將自動化工具引入其中;④在測試報告文檔生成中,可將自動化工具應(yīng)用其中。另外,對于云測試,在構(gòu)成上主要以云、測試為主,主要將軟件測試過程置于云環(huán)境下。整個測試過程中,涉及的云計算技術(shù)體現(xiàn)在虛擬化技術(shù)、分布式存儲、云平臺管理以及海量數(shù)據(jù)管理等方面,其中的云平臺可滿足許多測試要求,包括安全性測試、功能測試、性能測試以及測試管理與報告生成等。將軟件測試置于云計算環(huán)境下,其優(yōu)勢表現(xiàn)為僅需支付平臺服務(wù)費即可,無需在測試工具上投入較多資金,且企業(yè)在利用云測試服務(wù)中,可享受極多的測試資源,加上系統(tǒng)平臺環(huán)境可被測試人員使用,為軟件測試帶來極大的便利[1]。
以往軟件測試的實現(xiàn)多以硬件環(huán)境為主,在測試需求環(huán)境得以合理配置的基礎(chǔ)上,將測試軟件部署其中,根據(jù)相應(yīng)的測試流程與測試方案完成測試軟件的性能、功能等,或在測試中注重對維護(hù)測試系統(tǒng)、測試工具設(shè)計進(jìn)行編寫。具體測試中,采用的測試方式首先表現(xiàn)在aB測試工具方面。該工具又可被稱為apache Bench,在實際應(yīng)用中僅需做好ab命令的下達(dá),便可模擬訪問相應(yīng)的URL,在此基礎(chǔ)上可使關(guān)于訪問效率報表得以生成,該報表中將充分反映出高壓力訪問下網(wǎng)站的實際情況。以ubuntu環(huán)境為例,測試過程中可直接將相應(yīng)的命令輸入,便可完成測試網(wǎng)站的過程[2]。
其次,傳統(tǒng)軟件測試中采用的測試工具也表現(xiàn)在JMeter方面,通常對于動態(tài)資源性能、靜態(tài)資源性能等測試,可依托JMeter實現(xiàn),如FTP服務(wù)器、數(shù)據(jù)庫查詢、Perl腳本以及Java對象等。從該工具結(jié)構(gòu)特征看,主要以樹形結(jié)構(gòu)為主,與Windows資源管理器結(jié)構(gòu)極為相近。以登陸過程測試為例,要求做好限定條件明確工作,包括:123毫秒以內(nèi)的響應(yīng)時間、身份驗證信息需在登錄后返回且保證返回結(jié)果超出10bytes。具體操作中可進(jìn)行測試組的構(gòu)建,對循環(huán)次數(shù)、測試試件以及出現(xiàn)程數(shù)進(jìn)行定義,在此基礎(chǔ)上結(jié)合JMeter工具將相應(yīng)assertions添加在request sampler中,這樣整個軟件測試過程便可實現(xiàn),僅需對.jtl文件進(jìn)行分析,便能推出最終的測試結(jié)果[3]。
最后,在自動化技術(shù)快速發(fā)背景下,Selenium工具逐漸被引入其中,該工具在測試中需做好自動化測試系統(tǒng)的構(gòu)建,易用性、擴(kuò)展性以及兼容性較強(qiáng),對于較多瀏覽器如Mozilla Firefox與IE等瀏覽器都可支持。從該工具的組件上看,主要表現(xiàn)為Selenium IDE、Selenium Core、Selenium Remote Control等,不同組件可對不同瀏覽器進(jìn)行支持。實際應(yīng)用該工具中,其優(yōu)勢主要表現(xiàn)為不僅能夠運行于瀏覽器中,且對于較多系統(tǒng)平臺都可有效支撐[4]。
盡管傳統(tǒng)軟件測試方法應(yīng)用中也具有較多的優(yōu)勢,但實際應(yīng)用中往往會面臨較多如測試工具配置、系統(tǒng)環(huán)境構(gòu)建以及測試工具使用問題,操作效率并不高。而將云計算技術(shù)引入軟件測試中,便能很好的解決傳統(tǒng)軟件測試中的這些弊病。但需注意在實際應(yīng)用云計算技術(shù)中,需做好交互平臺的設(shè)計,其可將Web交互界面提供給測試人員,整個測試過程完全在平臺調(diào)度虛擬機(jī)中實現(xiàn),用戶僅需等待反饋結(jié)果即可。具體進(jìn)行交互平臺設(shè)計中,其涉及的流程主要為測試需求分析、測試流程確定、交互平臺設(shè)計以及相關(guān)技術(shù)的融入等。
4.1 測試需求分析與流程的確定
軟件測試的需求通常表現(xiàn)在:①測試對象若為商業(yè)軟件產(chǎn)品,要求使其安全性、機(jī)密性得以保障;②測試中若涉及預(yù)先安裝軟件或其他指定系統(tǒng),應(yīng)注意做好測試環(huán)境的預(yù)先配置;③為使測試工作順利開展,需保障在人力資源、硬件資源等方面給予強(qiáng)有力的支撐,使操作系統(tǒng)平臺功能得以發(fā)揮;④可將整個測試過程細(xì)化為不同階段,并明確各階段需要的資源數(shù)目。實際分析測試需求中,還需考慮其面臨的問題,包括資源管理、執(zhí)行方法等,要求引入虛擬化技術(shù),并考慮測試用例的提供以及交互式測試界面的設(shè)計,這樣才可使需求問題得以解決。事實上,這種解決方式實質(zhì)便為測試云的體現(xiàn),其在保證資源均衡優(yōu)化的基礎(chǔ)上,可將測試平臺提供給測試人員。整個測試流程具體可細(xì)化為用戶測試需求的接受、數(shù)據(jù)的分析與存儲、虛擬機(jī)的配置與調(diào)度、云測試的開展與的報表的生成等[5]。
4.2 交互平臺的具體設(shè)計
交互平臺設(shè)計中,首先需從平臺的整體架構(gòu)著手,該架構(gòu)主要以云計算三層架構(gòu)類型為主,其中能夠進(jìn)行硬件物力資源提供的主要以基礎(chǔ)設(shè)施云為主,而統(tǒng)一管理調(diào)度的部分則以交互平臺為主。具體設(shè)計交互平臺中,要求人員在Web界面中進(jìn)行測試服務(wù)的選擇,這樣可使測試需求得以明確。在此基礎(chǔ)上進(jìn)行虛擬機(jī)實例的構(gòu)建,該過程可通過在虛擬機(jī)池中進(jìn)行aWS EC2的調(diào)用來實現(xiàn)。當(dāng)虛擬機(jī)實例被構(gòu)建后,RESTful aPI可將測試數(shù)據(jù)傳輸給aGENT,此時服務(wù)器便會根據(jù)這些數(shù)據(jù)進(jìn)行信息的確認(rèn)與測試時間的發(fā)布。最終測試的結(jié)果向服務(wù)器傳輸,并有相應(yīng)的圖表與報表生成,用戶只需對這些圖表、報表進(jìn)行分析,便可得到測試結(jié)果[6]。
4.3 相關(guān)技術(shù)在平臺中的應(yīng)用
交互平臺的設(shè)計主要得益于相關(guān)技術(shù)的應(yīng)用。其中的技術(shù)首先表現(xiàn)在Play framework方面,其能夠?qū)o狀態(tài)MVC模型設(shè)置其中,并選用Java Web應(yīng)用框架,應(yīng)用于交互平臺設(shè)計中可滿足HTTP到代碼映射要求,且在bug被修復(fù)后能夠重新加載。其次,交互平臺設(shè)計中的技術(shù)也表現(xiàn)在REST-ful aPI方面,其應(yīng)用特點主要表現(xiàn)為僅需在類路徑中添加JaRs文件即可,無需引入相關(guān)的配置文件,且可使GZIP解壓縮在服務(wù)器端實現(xiàn),同時不必依托Servlet,可直接利用Seam提供HTTP請求。最后,技術(shù)的運用也表現(xiàn)在Jclouds aPI方面,該技術(shù)可使web復(fù)雜性得以處理,且運行中可遷移性特點較為明顯[7]。
在交互平臺設(shè)計的基礎(chǔ)上,還需考慮構(gòu)建測試云系統(tǒng),使整個測試滿足自動化要求。實際設(shè)計中首先應(yīng)注意合理選擇基礎(chǔ)設(shè)施云,盡管基礎(chǔ)設(shè)施云可采用自行構(gòu)建方式,但其需投入較多成本,且其中的技術(shù)應(yīng)用也是構(gòu)建設(shè)施云面臨的重要難題。因此,在選擇中可考慮直接由IaaS進(jìn)行設(shè)施的提供。根據(jù)軟件測試的實際要求,在基礎(chǔ)設(shè)施云選擇中可以amazon EC2為主,其在特點上表現(xiàn)為靈活性較強(qiáng)、彈性特征明顯且在計算能力上能夠做到熟練縮放,對于交互平臺調(diào)用可起到良好效果。具體進(jìn)行amazon EC2創(chuàng)建中,要求做好模板映像的配置,或直接進(jìn)行亞馬遜機(jī)器映像的構(gòu)建,使的相關(guān)的配置、程序以及數(shù)據(jù)都融入其中。同時,構(gòu)建中需對操作系統(tǒng)與實例類型進(jìn)行確定,在此基礎(chǔ)上通過web服務(wù)aPIs的應(yīng)用,實現(xiàn)虛擬機(jī)的具體操作過程。需注意的是,虛擬機(jī)實際運行中可能處于多個地點,此時可考慮將虛擬機(jī)實例、靜態(tài)IP端點等設(shè)置其中,確保整個虛擬機(jī)可靠運行。
其次,需進(jìn)行虛擬機(jī)實例的構(gòu)建。該過程主要表現(xiàn)在:第一,進(jìn)行初始OS實例的構(gòu)建,一般aWS中管理界面可將所有云服務(wù)顯示出來,包括VPC、S3以及EC2等,操作中可對EC2進(jìn)行點擊,完成虛擬機(jī)實例的創(chuàng)建過程。第二,做好測試環(huán)境的配置與測試工具的安裝。初始實例創(chuàng)建后,應(yīng)判斷此時測試工具是否可滿足軟件測試要求。在工具選擇中可以具體的測試要求為依據(jù),如可進(jìn)行aB測試工具、JMeter測試工具的安裝,能夠符合軟件性能測試、壓力測試等要求。若需使測試過程更具自動化特征,還需將Firefox瀏覽器進(jìn)行安裝,滿足環(huán)境設(shè)置要求。此外,在虛擬機(jī)實例構(gòu)建中,還需做好aGENT的安裝、鏡像文件的創(chuàng)建以及文件ID的獲取等工作。
最后,需進(jìn)行虛擬機(jī)池的構(gòu)建。虛擬機(jī)池的構(gòu)建旨在解決虛擬機(jī)運行中出現(xiàn)的頻繁創(chuàng)建問題,虛擬機(jī)復(fù)用性可得以提高,并保證整個運行環(huán)境更為平穩(wěn)。在實際構(gòu)建中,可考慮進(jìn)行虛擬機(jī)的創(chuàng)建,在此基礎(chǔ)上使資源池融入所有虛擬機(jī)。假若其中某個虛擬機(jī)需被使用,進(jìn)行將請求向資源池中發(fā)送,便可達(dá)到虛擬機(jī)使用的目標(biāo)[8]。
云計算技術(shù)的應(yīng)用為軟件測試提供堅實的技術(shù)保障。實際應(yīng)用云計算技術(shù)中,應(yīng)正確認(rèn)識云計算技術(shù)的基本內(nèi)涵與傳統(tǒng)軟件測試的弊端,做好交互平臺的設(shè)計,并進(jìn)行測試云系統(tǒng)的設(shè)計,確保軟件測試可在云計算環(huán)境下實現(xiàn),滿足現(xiàn)代軟件測試高效、便捷等要求。
[1]孟祥超.云計算環(huán)境下的軟件測試服務(wù)研究[D].大連海事大學(xué),2013.
[2]王偉軍.“云計算環(huán)境下的軟件測試及服務(wù)研究”專題序[J].現(xiàn)代圖書情報技術(shù),2012,(11):1-2.
[3]王偉軍,姜毅,劉蕤,等.云計算環(huán)境下軟件測試研究進(jìn)展[J].現(xiàn)代圖書情報技術(shù),2012,(11):3-9.
[4]張一弛.云計算環(huán)境下的“測試即服務(wù)”模式及其實現(xiàn)[D].華中師范大學(xué),2013.
[5]趙濤.基于云計算的軟件測試技術(shù)探索與研究[D].西安電子科技大學(xué),2014.
[6]陳陽.云計算環(huán)境下的軟件測試服務(wù)研究[J].信息通信,2015,(12):190.
[7]李玉,尉雙梅.云計算環(huán)境下的軟件測試服務(wù)研究[J].電腦知識與技術(shù),2015,(32):174-175.
[8]孫曉霞.云計算環(huán)境下的軟件測試服務(wù)研究[J].信息化建設(shè),2016,(02):35.
[9]李婷,李曉龍.云計算的資源管理方法研究[J].電腦與電信,2010,(1):62-64.
analysis of Software Testing Services in Cloud Computing Environment
Xu Xiaoping
(Ezhou Polytechnic,Ezhou 436000,Hubei)
The rapid development of information technology injected fresh energy to the field of various industries.Taking the software testing services as an example,the test efficiency of traditional test method is difficult to be ensured,and it takes more cost. By contrast,the software testing in cloud computing environment is more convenient and efficient,and it has automation feature. This paper studies on the related overview of cloud computing technology,the main methods of traditional software testing,software testing service interaction platform design in cloud computing environment,and the construction of testing cloud system.It realize the software testing in cloud computing environment,meeting the requirement of efficiency and convenient.
software test;cloud computing environment;interactive platform;test cloud system
TP311
a
1008-6609(2016)03-0064-03
徐小平,男,湖北鄂州人,大學(xué)本科,講師,研究方向:網(wǎng)絡(luò)、云計算及算法研究。