劉新娥 李維勇 劉宗昌



摘 要:基于云計(jì)算技術(shù),提出測(cè)試資源的云端管理系統(tǒng),將測(cè)試資源云化、虛擬化,在云端共享,借助統(tǒng)一的測(cè)試平臺(tái)——云測(cè)試系統(tǒng),實(shí)現(xiàn)測(cè)試資源統(tǒng)一調(diào)度和應(yīng)用,同時(shí)給出了云測(cè)試系統(tǒng)的框架和部署。該系統(tǒng)的應(yīng)用有助于打破資源壁壘,降低測(cè)試網(wǎng)絡(luò)維護(hù)成本,提升測(cè)試效率,從而提升企業(yè)的軟件測(cè)試能力。
關(guān)鍵詞:云計(jì)算;云測(cè)試;虛擬化;SPL框架
DOI:10.11907/rjdk.171355
中圖分類(lèi)號(hào):TP319 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):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 引言
測(cè)試作為產(chǎn)品研發(fā)中至關(guān)重要的環(huán)節(jié),其意義已超出了一般的軟件故障發(fā)現(xiàn)活動(dòng)。在當(dāng)今全球電信設(shè)備廠商激烈角逐的態(tài)勢(shì)下,只有通過(guò)了苛刻的入網(wǎng)測(cè)試、驗(yàn)收測(cè)試、招標(biāo)測(cè)試等各種類(lèi)型的測(cè)試,廠商才有機(jī)會(huì)進(jìn)入高端市場(chǎng)。
傳統(tǒng)的測(cè)試模式將被測(cè)對(duì)象/測(cè)試資源(DUT/SUT)按團(tuán)隊(duì)/項(xiàng)目等各種組織方式進(jìn)行分配,資源之間相互獨(dú)立。隨著軟件系統(tǒng)復(fù)雜度/規(guī)模的增加以及業(yè)務(wù)的高速發(fā)展,傳統(tǒng)模式下的測(cè)試已不堪重負(fù),測(cè)試周期長(zhǎng)、資源消耗大[1],具體有以下弊端:①維護(hù)成本高。復(fù)現(xiàn)一個(gè)故障或驗(yàn)證一種功能,要經(jīng)常往返于機(jī)房,搭建網(wǎng)絡(luò)環(huán)境,尤其對(duì)于方案級(jí)的測(cè)試環(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)帶來(lái)困難,某些資源緊張時(shí),而其它項(xiàng)目/組織的資源可能被閑置,資源復(fù)用率低;③資源浪費(fèi)。設(shè)備種類(lèi)多、電源管理復(fù)雜、自動(dòng)化控制程度低,對(duì)于不同業(yè)務(wù)、不同場(chǎng)景,設(shè)備工作周期不固定,難以對(duì)電源管理進(jìn)行統(tǒng)一控制,存在很大浪費(fèi)。
效率的提升不僅依靠技術(shù)創(chuàng)新,更多地要靠模式創(chuàng)新,才能為企業(yè)帶來(lái)更大的產(chǎn)出效益。測(cè)試資源的云端管理模式,即是針對(duì)測(cè)試過(guò)程中涉及的各種測(cè)試資源,充分開(kāi)放配置到云端,同時(shí)在調(diào)度、流程、應(yīng)用、數(shù)據(jù)、分析、決策等方面進(jìn)行統(tǒng)一管理,打破資源壁壘,充分協(xié)調(diào)、共享測(cè)試資源。
1 云測(cè)試系統(tǒng)研究
測(cè)試資源的云端管理,即利用云計(jì)算技術(shù),將測(cè)試資源云化、虛擬化,在云端共享,構(gòu)建云測(cè)試系統(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ù)的方式向用戶(hù)提供動(dòng)態(tài)、彈性、可伸縮的資源[2],降低管理成本。
云計(jì)算包含3種服務(wù)類(lèi)型:SaaS(Software as a Service,軟件即服務(wù))、PaaS(Platform as a Service,平臺(tái)即服務(wù))與IaaS(Infrastructure as a Service,基礎(chǔ)架構(gòu)即服務(wù))。云計(jì)算的服務(wù)模式以其松耦合、綠色、靈活等特點(diǎn)受到人們青睞[3]。
在基于云計(jì)算的測(cè)試研究方面,文獻(xiàn)[4]提出根據(jù)被測(cè)試程序的特征和所執(zhí)行的測(cè)試類(lèi)型確定測(cè)試何時(shí)適合遷移到云環(huán)境中,但并未涉及具體實(shí)施方案;文獻(xiàn)[5]設(shè)計(jì)了一個(gè)基于云計(jì)算的 D-cloud平臺(tái),用于測(cè)試大規(guī)模軟件的可靠性;文獻(xiàn)[6]提出一個(gè)包括測(cè)試用例設(shè)計(jì)到執(zhí)行完整過(guò)程的并行測(cè)試方案,但對(duì)于測(cè)試資源到云環(huán)境的遷移過(guò)程,或者測(cè)試資源的云端管理模式上,相關(guān)研究及其應(yīng)用尚不成熟。
1.2 云測(cè)試研究
云測(cè)試是基于云計(jì)算的一種新型測(cè)試方案,通過(guò)測(cè)試資源云端以按需、易擴(kuò)展的方式向測(cè)試交付所需資源,包括被測(cè)對(duì)象、測(cè)試平臺(tái)、測(cè)試儀表等服務(wù)。
測(cè)試資源云端管理從資源的云端視覺(jué)出發(fā),通過(guò)智能化、虛擬化等一系列方法,實(shí)現(xiàn)對(duì)測(cè)試領(lǐng)域的多維度、多層面覆蓋,并實(shí)現(xiàn)對(duì)測(cè)試資源多層次、多應(yīng)用的整合,同時(shí)打破測(cè)試資源壁壘,降低測(cè)試網(wǎng)絡(luò)維護(hù)成本,提升測(cè)試效率,如圖1所示。
1.3 云測(cè)試框架
云測(cè)試系統(tǒng)框架,參考云計(jì)算服務(wù)類(lèi)型,分為測(cè)試軟件系統(tǒng)SaaS、測(cè)試業(yè)務(wù)擴(kuò)展平臺(tái)PaaS、實(shí)驗(yàn)室管理服務(wù)LaaS,上述服務(wù)框架簡(jiǎn)稱(chēng)為云測(cè)試SPL框架,如圖2所示。
LaaS(Lab as a Service,實(shí)驗(yàn)室即服務(wù)),指以服務(wù)形式提供測(cè)試實(shí)驗(yàn)室管理,包括網(wǎng)絡(luò)設(shè)備、服務(wù)器、測(cè)試儀表等。將這類(lèi)實(shí)驗(yàn)室設(shè)施采用云端管理后,可借助虛擬化技術(shù)構(gòu)建測(cè)試環(huán)境,交付測(cè)試使用。endprint
PaaS(Platform as a Service,平臺(tái)即服務(wù)),指以服務(wù)形式給開(kāi)發(fā)人員提供測(cè)試平臺(tái),展開(kāi)各種測(cè)試業(yè)務(wù)。平臺(tái)服務(wù)一般包括數(shù)據(jù)存儲(chǔ)服務(wù)、資產(chǎn)報(bào)表服務(wù)、版本構(gòu)建服務(wù)、持續(xù)集成服務(wù)、自動(dòng)化測(cè)試服務(wù)、制品倉(cāng)庫(kù)服務(wù)、流程編排服務(wù)。
SaaS(Software as a Service,軟件即服務(wù)),指通過(guò)瀏覽器以服務(wù)形式給用戶(hù)提供應(yīng)用程序,諸如云測(cè)試涉及到的資源ERP、資產(chǎn)管理、運(yùn)維服務(wù)、業(yè)務(wù)重現(xiàn)等。
2 云測(cè)試系統(tǒng)實(shí)現(xiàn)
結(jié)合上述云測(cè)試SPL框架,下面進(jìn)一步考慮云測(cè)試系統(tǒng)的實(shí)現(xiàn)方案。
2.1 云測(cè)試系統(tǒng)框架
云測(cè)試微服務(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ī)、存儲(chǔ)和網(wǎng)絡(luò)硬件),包括虛擬機(jī)的創(chuàng)建銷(xiāo)毀服務(wù)、存儲(chǔ)分配、網(wǎng)絡(luò)拓?fù)浞?wù)。
(2)服務(wù)層,具體分為面向?qū)嶒?yàn)室的服務(wù)(infra-Oriented)和面向測(cè)試應(yīng)用的服務(wù)(apply-Oriented)。面向基礎(chǔ)設(shè)施的服務(wù),包括云資源發(fā)現(xiàn)、網(wǎng)絡(luò)拓?fù)渥詣?dòng)構(gòu)建、虛擬機(jī)管理、資源信息數(shù)據(jù)庫(kù)服務(wù)、存儲(chǔ)服務(wù);面向應(yīng)用的服務(wù),包括資源調(diào)度服務(wù)、腳本運(yùn)行服務(wù)、報(bào)表服務(wù)、網(wǎng)絡(luò)管理服務(wù)、版本管理服務(wù)、缺陷管理服務(wù)、用例管理服務(wù)等。該層是云測(cè)試微服務(wù)非常重要的一層。
(3)應(yīng)用層,是對(duì)下層的微服務(wù),結(jié)合測(cè)試需求場(chǎng)景,作進(jìn)一步的大顆粒度編排。包括報(bào)表服務(wù)(Report)、集成測(cè)試服務(wù)(CI)、自動(dòng)化測(cè)試服務(wù)(ST)等。
(4)UI層,提供給用戶(hù)Web(瀏覽器)、桌面系統(tǒng)(Desktop)、APP(手機(jī)終端)等操作平臺(tái)。
2.2 云測(cè)試系統(tǒng)部署
一般在網(wǎng)絡(luò)實(shí)驗(yàn)室進(jìn)行私有云部署,包括各種網(wǎng)絡(luò)資源、存儲(chǔ)資源、計(jì)算資源,并通過(guò)LaaS提供測(cè)試實(shí)驗(yàn)室服務(wù)。在私有云LaaS上,驅(qū)動(dòng)服務(wù)器負(fù)責(zé)網(wǎng)絡(luò)構(gòu)建、虛擬機(jī)創(chuàng)建與存儲(chǔ)資源管理。網(wǎng)絡(luò)監(jiān)控實(shí)時(shí)將資源狀態(tài)匯報(bào)給LaaS,以保證基礎(chǔ)設(shè)施的健壯性、可用性等。
公有云部署包括調(diào)度服務(wù)器部署、監(jiān)控服務(wù)器部署等。調(diào)度服務(wù)器使服務(wù)與動(dòng)態(tài)資源虛擬化,為用戶(hù)提供資源透明的云測(cè)試服務(wù),包括資源創(chuàng)建/銷(xiāo)毀等。隊(duì)列服務(wù)器面向SaaS應(yīng)用,提供云資源的請(qǐng)求隊(duì)列管理等。
應(yīng)用部署可以是桌面系統(tǒng)、IE瀏覽器等,提供云測(cè)試的一系列訪(fǎng)問(wèn)接口。私有云部署/公有云部署/應(yīng)用部署如圖4所示。
2.3 云測(cè)試系統(tǒng)優(yōu)勢(shì)
云測(cè)試系統(tǒng)具有以下優(yōu)勢(shì):
(1)立即可用。云測(cè)試提供一整套測(cè)試環(huán)境,測(cè)試人員利用虛擬桌面等手段登錄到該測(cè)試環(huán)境,即可展開(kāi)測(cè)試,并將軟硬件安裝、環(huán)境配置、環(huán)境維護(hù)的代價(jià)轉(zhuǎn)移給云測(cè)試提供者。以現(xiàn)在的虛擬化技術(shù),在測(cè)試人員指定硬件配置、軟件棧(操作系統(tǒng)、中間件、工具軟件)、網(wǎng)絡(luò)拓?fù)浜螅梢院芸靹?chuàng)建一套新的測(cè)試環(huán)境。
(2)裝配完備。云測(cè)試不但可以提供完整的測(cè)試環(huán)境,還可以提供許多附加服務(wù)。對(duì)于測(cè)試機(jī),它可以提供還原點(diǎn),以便測(cè)試人員將虛擬機(jī)重置到指定狀態(tài);對(duì)于測(cè)試執(zhí)行,它可以監(jiān)控被測(cè)試程序,幫助測(cè)試人員發(fā)現(xiàn)問(wèn)題、定位錯(cuò)誤;對(duì)于大規(guī)模測(cè)試,云測(cè)試可以提供多臺(tái)測(cè)試客戶(hù)機(jī),從主控機(jī)上下載測(cè)試用例,執(zhí)行并匯報(bào)測(cè)試結(jié)果,主控機(jī)將結(jié)果匯總后報(bào)告給測(cè)試人員。
(3)按需提供。在測(cè)試過(guò)程中,如果不了解測(cè)試需求,將導(dǎo)致測(cè)試資源的極大浪費(fèi),而云測(cè)試提供了一種按需測(cè)試的方式,用戶(hù)可以靈活、按需地部署測(cè)試資源與環(huán)境,并在測(cè)試完后釋放相關(guān)資源。
3 結(jié)語(yǔ)
借助云計(jì)算/虛擬化技術(shù)等構(gòu)建的測(cè)試資源云端管理系統(tǒng),可打破資源壁壘以共享資源,降低維護(hù)成本以提升測(cè)試效率。本文介紹了云測(cè)試系統(tǒng)的框架與實(shí)現(xiàn)方案,通過(guò)測(cè)試資源的云端管理模式創(chuàng)新和云測(cè)試的技術(shù)創(chuàng)新,有助于提升企業(yè)的軟件測(cè)試能力,加快產(chǎn)品的市場(chǎng)投放。
參考文獻(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ì)算的并行測(cè)試方案設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2012,38(24):27-31.
(責(zé)任編輯:黃 健)endprint