劉新娥 李維勇 劉宗昌
摘 要:基于云計(jì)算技術(shù),提出測試資源的云端管理系統(tǒng),將測試資源云化、虛擬化,在云端共享,借助統(tǒng)一的測試平臺——云測試系統(tǒng),實(shí)現(xiàn)測試資源統(tǒng)一調(diào)度和應(yīng)用,同時(shí)給出了云測試系統(tǒng)的框架和部署。該系統(tǒng)的應(yīng)用有助于打破資源壁壘,降低測試網(wǎng)絡(luò)維護(hù)成本,提升測試效率,從而提升企業(yè)的軟件測試能力。
關(guān)鍵詞:云計(jì)算;云測試;虛擬化;SPL框架
DOI:10.11907/rjdk.171355
中圖分類號:TP319 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2017)009-0123-03
Abstract:Based on thecloud computing technology, the testing resource management system of the cloud is proposed, the cloud of test resources, virtualization, sharing in the cloud, by means of the unified test platform-cloud testing system, and to realize the unified dispatching test resources application, and gives the framework and deployment of cloud testing system. The application of the system helps to break the barriers to resources, reduce test network maintenance costs, improve test efficiency, thereby enhancing the software testing capabilities of enterprise.
Key Words:cloud computing; cloud testing; virtualization; SPL framework
0 引言
測試作為產(chǎn)品研發(fā)中至關(guān)重要的環(huán)節(jié),其意義已超出了一般的軟件故障發(fā)現(xiàn)活動。在當(dāng)今全球電信設(shè)備廠商激烈角逐的態(tài)勢下,只有通過了苛刻的入網(wǎng)測試、驗(yàn)收測試、招標(biāo)測試等各種類型的測試,廠商才有機(jī)會進(jìn)入高端市場。
傳統(tǒng)的測試模式將被測對象/測試資源(DUT/SUT)按團(tuán)隊(duì)/項(xiàng)目等各種組織方式進(jìn)行分配,資源之間相互獨(dú)立。隨著軟件系統(tǒng)復(fù)雜度/規(guī)模的增加以及業(yè)務(wù)的高速發(fā)展,傳統(tǒng)模式下的測試已不堪重負(fù),測試周期長、資源消耗大[1],具體有以下弊端:①維護(hù)成本高。復(fù)現(xiàn)一個(gè)故障或驗(yàn)證一種功能,要經(jīng)常往返于機(jī)房,搭建網(wǎng)絡(luò)環(huán)境,尤其對于方案級的測試環(huán)境,搭建、維護(hù)相當(dāng)復(fù)雜;②資源壁壘。由于資源緊張,搭建網(wǎng)絡(luò)環(huán)境時(shí),需要經(jīng)常溝通、協(xié)調(diào)。資源使用權(quán)在項(xiàng)目/組織,因此資源壁壘給跨項(xiàng)目/組織協(xié)調(diào)帶來困難,某些資源緊張時(shí),而其它項(xiàng)目/組織的資源可能被閑置,資源復(fù)用率低;③資源浪費(fèi)。設(shè)備種類多、電源管理復(fù)雜、自動化控制程度低,對于不同業(yè)務(wù)、不同場景,設(shè)備工作周期不固定,難以對電源管理進(jìn)行統(tǒng)一控制,存在很大浪費(fèi)。
效率的提升不僅依靠技術(shù)創(chuàng)新,更多地要靠模式創(chuàng)新,才能為企業(yè)帶來更大的產(chǎn)出效益。測試資源的云端管理模式,即是針對測試過程中涉及的各種測試資源,充分開放配置到云端,同時(shí)在調(diào)度、流程、應(yīng)用、數(shù)據(jù)、分析、決策等方面進(jìn)行統(tǒng)一管理,打破資源壁壘,充分協(xié)調(diào)、共享測試資源。
1 云測試系統(tǒng)研究
測試資源的云端管理,即利用云計(jì)算技術(shù),將測試資源云化、虛擬化,在云端共享,構(gòu)建云測試系統(tǒng)(Cloud Testing System),實(shí)現(xiàn)統(tǒng)一調(diào)度。
1.1 云計(jì)算技術(shù)
云計(jì)算(Cloud Computing)是一種網(wǎng)絡(luò)計(jì)算模式,它能夠根據(jù)需求,以服務(wù)的方式向用戶提供動態(tài)、彈性、可伸縮的資源[2],降低管理成本。
云計(jì)算包含3種服務(wù)類型:SaaS(Software as a Service,軟件即服務(wù))、PaaS(Platform as a Service,平臺即服務(wù))與IaaS(Infrastructure as a Service,基礎(chǔ)架構(gòu)即服務(wù))。云計(jì)算的服務(wù)模式以其松耦合、綠色、靈活等特點(diǎn)受到人們青睞[3]。
在基于云計(jì)算的測試研究方面,文獻(xiàn)[4]提出根據(jù)被測試程序的特征和所執(zhí)行的測試類型確定測試何時(shí)適合遷移到云環(huán)境中,但并未涉及具體實(shí)施方案;文獻(xiàn)[5]設(shè)計(jì)了一個(gè)基于云計(jì)算的 D-cloud平臺,用于測試大規(guī)模軟件的可靠性;文獻(xiàn)[6]提出一個(gè)包括測試用例設(shè)計(jì)到執(zhí)行完整過程的并行測試方案,但對于測試資源到云環(huán)境的遷移過程,或者測試資源的云端管理模式上,相關(guān)研究及其應(yīng)用尚不成熟。
1.2 云測試研究
云測試是基于云計(jì)算的一種新型測試方案,通過測試資源云端以按需、易擴(kuò)展的方式向測試交付所需資源,包括被測對象、測試平臺、測試儀表等服務(wù)。
測試資源云端管理從資源的云端視覺出發(fā),通過智能化、虛擬化等一系列方法,實(shí)現(xiàn)對測試領(lǐng)域的多維度、多層面覆蓋,并實(shí)現(xiàn)對測試資源多層次、多應(yīng)用的整合,同時(shí)打破測試資源壁壘,降低測試網(wǎng)絡(luò)維護(hù)成本,提升測試效率,如圖1所示。
1.3 云測試框架
云測試系統(tǒng)框架,參考云計(jì)算服務(wù)類型,分為測試軟件系統(tǒng)SaaS、測試業(yè)務(wù)擴(kuò)展平臺PaaS、實(shí)驗(yàn)室管理服務(wù)LaaS,上述服務(wù)框架簡稱為云測試SPL框架,如圖2所示。
LaaS(Lab as a Service,實(shí)驗(yàn)室即服務(wù)),指以服務(wù)形式提供測試實(shí)驗(yàn)室管理,包括網(wǎng)絡(luò)設(shè)備、服務(wù)器、測試儀表等。將這類實(shí)驗(yàn)室設(shè)施采用云端管理后,可借助虛擬化技術(shù)構(gòu)建測試環(huán)境,交付測試使用。endprint
PaaS(Platform as a Service,平臺即服務(wù)),指以服務(wù)形式給開發(fā)人員提供測試平臺,展開各種測試業(yè)務(wù)。平臺服務(wù)一般包括數(shù)據(jù)存儲服務(wù)、資產(chǎn)報(bào)表服務(wù)、版本構(gòu)建服務(wù)、持續(xù)集成服務(wù)、自動化測試服務(wù)、制品倉庫服務(wù)、流程編排服務(wù)。
SaaS(Software as a Service,軟件即服務(wù)),指通過瀏覽器以服務(wù)形式給用戶提供應(yīng)用程序,諸如云測試涉及到的資源ERP、資產(chǎn)管理、運(yùn)維服務(wù)、業(yè)務(wù)重現(xiàn)等。
2 云測試系統(tǒng)實(shí)現(xiàn)
結(jié)合上述云測試SPL框架,下面進(jìn)一步考慮云測試系統(tǒng)的實(shí)現(xiàn)方案。
2.1 云測試系統(tǒng)框架
云測試微服務(wù)框架分為4層:基礎(chǔ)設(shè)施層(Infrastructure)、服務(wù)層(微服務(wù),Service-Oriented)、應(yīng)用層(Apply-Oriented)、UI層(User-Oriented),如圖3所示。
(1)基礎(chǔ)設(shè)施層,提供實(shí)驗(yàn)室基礎(chǔ)設(shè)施服務(wù)(機(jī)房/實(shí)驗(yàn)室、DUT/SUT、服務(wù)器/虛擬機(jī)、存儲和網(wǎng)絡(luò)硬件),包括虛擬機(jī)的創(chuàng)建銷毀服務(wù)、存儲分配、網(wǎng)絡(luò)拓?fù)浞?wù)。
(2)服務(wù)層,具體分為面向?qū)嶒?yàn)室的服務(wù)(infra-Oriented)和面向測試應(yīng)用的服務(wù)(apply-Oriented)。面向基礎(chǔ)設(shè)施的服務(wù),包括云資源發(fā)現(xiàn)、網(wǎng)絡(luò)拓?fù)渥詣訕?gòu)建、虛擬機(jī)管理、資源信息數(shù)據(jù)庫服務(wù)、存儲服務(wù);面向應(yīng)用的服務(wù),包括資源調(diào)度服務(wù)、腳本運(yùn)行服務(wù)、報(bào)表服務(wù)、網(wǎng)絡(luò)管理服務(wù)、版本管理服務(wù)、缺陷管理服務(wù)、用例管理服務(wù)等。該層是云測試微服務(wù)非常重要的一層。
(3)應(yīng)用層,是對下層的微服務(wù),結(jié)合測試需求場景,作進(jìn)一步的大顆粒度編排。包括報(bào)表服務(wù)(Report)、集成測試服務(wù)(CI)、自動化測試服務(wù)(ST)等。
(4)UI層,提供給用戶Web(瀏覽器)、桌面系統(tǒng)(Desktop)、APP(手機(jī)終端)等操作平臺。
2.2 云測試系統(tǒng)部署
一般在網(wǎng)絡(luò)實(shí)驗(yàn)室進(jìn)行私有云部署,包括各種網(wǎng)絡(luò)資源、存儲資源、計(jì)算資源,并通過LaaS提供測試實(shí)驗(yàn)室服務(wù)。在私有云LaaS上,驅(qū)動服務(wù)器負(fù)責(zé)網(wǎng)絡(luò)構(gòu)建、虛擬機(jī)創(chuàng)建與存儲資源管理。網(wǎng)絡(luò)監(jiān)控實(shí)時(shí)將資源狀態(tài)匯報(bào)給LaaS,以保證基礎(chǔ)設(shè)施的健壯性、可用性等。
公有云部署包括調(diào)度服務(wù)器部署、監(jiān)控服務(wù)器部署等。調(diào)度服務(wù)器使服務(wù)與動態(tài)資源虛擬化,為用戶提供資源透明的云測試服務(wù),包括資源創(chuàng)建/銷毀等。隊(duì)列服務(wù)器面向SaaS應(yīng)用,提供云資源的請求隊(duì)列管理等。
應(yīng)用部署可以是桌面系統(tǒng)、IE瀏覽器等,提供云測試的一系列訪問接口。私有云部署/公有云部署/應(yīng)用部署如圖4所示。
2.3 云測試系統(tǒng)優(yōu)勢
云測試系統(tǒng)具有以下優(yōu)勢:
(1)立即可用。云測試提供一整套測試環(huán)境,測試人員利用虛擬桌面等手段登錄到該測試環(huán)境,即可展開測試,并將軟硬件安裝、環(huán)境配置、環(huán)境維護(hù)的代價(jià)轉(zhuǎn)移給云測試提供者。以現(xiàn)在的虛擬化技術(shù),在測試人員指定硬件配置、軟件棧(操作系統(tǒng)、中間件、工具軟件)、網(wǎng)絡(luò)拓?fù)浜螅梢院芸靹?chuàng)建一套新的測試環(huán)境。
(2)裝配完備。云測試不但可以提供完整的測試環(huán)境,還可以提供許多附加服務(wù)。對于測試機(jī),它可以提供還原點(diǎn),以便測試人員將虛擬機(jī)重置到指定狀態(tài);對于測試執(zhí)行,它可以監(jiān)控被測試程序,幫助測試人員發(fā)現(xiàn)問題、定位錯(cuò)誤;對于大規(guī)模測試,云測試可以提供多臺測試客戶機(jī),從主控機(jī)上下載測試用例,執(zhí)行并匯報(bào)測試結(jié)果,主控機(jī)將結(jié)果匯總后報(bào)告給測試人員。
(3)按需提供。在測試過程中,如果不了解測試需求,將導(dǎo)致測試資源的極大浪費(fèi),而云測試提供了一種按需測試的方式,用戶可以靈活、按需地部署測試資源與環(huán)境,并在測試完后釋放相關(guān)資源。
3 結(jié)語
借助云計(jì)算/虛擬化技術(shù)等構(gòu)建的測試資源云端管理系統(tǒng),可打破資源壁壘以共享資源,降低維護(hù)成本以提升測試效率。本文介紹了云測試系統(tǒng)的框架與實(shí)現(xiàn)方案,通過測試資源的云端管理模式創(chuàng)新和云測試的技術(shù)創(chuàng)新,有助于提升企業(yè)的軟件測試能力,加快產(chǎn)品的市場投放。
參考文獻(xiàn):
[1] CHANA I, RANA A. Empirical evalulation of cloudbased testing techniques: a systematic review[J]. Acm Sigsoft Software Engineering Notes,2012,37(3):1-9.
[2] ARMBRUST M. Above the clouds: a berkeley view of cloud computing[R]. Berkeley,USA: Electrical Engineering and Computer Sciences University of California,Tech. Rep.:UCB/EECS-2009-28,2009.
[3] 殷星,周劍雄,王明哲.企業(yè)云應(yīng)用研究策略多時(shí)段分析[J].計(jì)算機(jī)科學(xué),2014,41(6):188-192.
[4] YU LIAN, TSAI W T, CHEN XIANG JI ,et al.Testing as a service over cloud[C]. Proc of the 5th IEEE International Symposium on Service Oriented System Engineering,2010:181-188.
[5] BANZAI T, KOIZUMI H, KANBAYASHI R, et al, D-cloud: design of a software testing environment for reliable distributed systems using cloud computing technology[C]. Proceedings of the 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing. Melbourne, Australia: IEEE Computer Society,2010.
[6] 黃曉玲,陳桂林,趙生慧.基于云計(jì)算的并行測試方案設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2012,38(24):27-31.
(責(zé)任編輯:黃 ?。〆ndprint