周顯明,李建軍,王莉華,朱能杰
基于云計(jì)算的測試公共服務(wù)平臺(tái)設(shè)計(jì)技術(shù)
周顯明1,李建軍1,王莉華2,朱能杰3
(1.華東計(jì)算技術(shù)研究所,上海200233;2.上海港灣工程質(zhì)量檢測有限公司,上海200032;3.深圳市盛邦通信有限公司,深圳518034)
分析了國內(nèi)軟件質(zhì)檢行業(yè)資源聚合面臨的問題,提出了采用云計(jì)算技術(shù)聚合各軟件質(zhì)檢機(jī)構(gòu)資源的方案,設(shè)計(jì)并實(shí)現(xiàn)了基于云計(jì)算技術(shù)的公共測試服務(wù)平臺(tái),該平臺(tái)通過測試云服務(wù)方式以統(tǒng)一的接口推動(dòng)國內(nèi)軟件質(zhì)檢資源共享,并為軟件質(zhì)檢機(jī)構(gòu)提供了一種新的業(yè)務(wù)模式。
軟件測試公共服務(wù)平臺(tái);軟件質(zhì)檢資源聚合;軟件測試云;云計(jì)算
近十多年來,國家成立了多家軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心,并投資興建了大量的軟件工程化管理和測試驗(yàn)證環(huán)境。這些基礎(chǔ)設(shè)施和測試環(huán)境為國家的重點(diǎn)領(lǐng)域工程質(zhì)量監(jiān)督檢驗(yàn)起到了重要的作用,但也存在一定的問題:各家質(zhì)檢機(jī)構(gòu)地理位置分散、資源無法共享使用,資源規(guī)模建設(shè)不平衡、資源重復(fù)性建設(shè)、資源建設(shè)后閑置未用、大部分資源只能在實(shí)驗(yàn)室使用等,這些問題直接導(dǎo)致了軟件產(chǎn)品質(zhì)檢資源的應(yīng)用水平普遍較低,重點(diǎn)領(lǐng)域和新技術(shù)領(lǐng)域的檢測能力不足。如何將這些軟件質(zhì)檢資源在保障國家重點(diǎn)型號工程建設(shè)的同時(shí),面向我國各行業(yè)領(lǐng)域企業(yè)提供便捷的質(zhì)檢服務(wù),多層次化地提供質(zhì)量保證服務(wù),是一項(xiàng)意義重大的工作,這其中面臨著如何有效整合利用這些資源的難題。國外學(xué)術(shù)界和產(chǎn)業(yè)界已經(jīng)有不少研究人員對云計(jì)算環(huán)境下的軟件測試問題開展了相關(guān)研究,相對而言,國內(nèi)這方面的研究還處于起步階段[1]。
云計(jì)算技術(shù)的不斷完善,推動(dòng)軟件開發(fā)技術(shù)和應(yīng)用模式正在向以用戶為中心轉(zhuǎn)變。云計(jì)算是軟件服務(wù)化的模式,可以按照用戶需要?jiǎng)討B(tài)地提供計(jì)算、存儲(chǔ)、應(yīng)用等各類資源,具有可動(dòng)態(tài)的伸縮性、使用成本比較低、可管理性好、節(jié)約能耗、安全便捷等優(yōu)點(diǎn),解決了資源難以整合使用的難題。
為此,本文分析了軟件質(zhì)檢資源聚合技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了基于云計(jì)算的測試公共服務(wù)平臺(tái),最終為整合利用分散的測試資源提供了相應(yīng)的手段。
1.1軟件質(zhì)檢資源聚合服務(wù)
軟件質(zhì)檢資源主要包括硬件基礎(chǔ)設(shè)施和軟件質(zhì)檢工具兩個(gè)方面。目前,國內(nèi)軟件質(zhì)檢機(jī)構(gòu)均具有一定規(guī)模的硬件基礎(chǔ)設(shè)施和軟件質(zhì)檢工具,但由于地域限制、職責(zé)劃分等方面的原因,未能得到高效的應(yīng)用。通過統(tǒng)一的平臺(tái)接口、結(jié)合目前業(yè)內(nèi)新興的云計(jì)算技術(shù),可以在一定程度上聚合閑置資源,提高其利用率。
1.1.1基礎(chǔ)設(shè)施
采用云計(jì)算技術(shù)整合國內(nèi)軟件質(zhì)檢機(jī)構(gòu)的硬件基礎(chǔ)設(shè)施資源,對分散在各地的國內(nèi)軟件質(zhì)檢機(jī)構(gòu)的硬件資源進(jìn)行統(tǒng)一的管控,構(gòu)建測試云平臺(tái)的基礎(chǔ)設(shè)施層,具體包括主機(jī)、存儲(chǔ)、網(wǎng)絡(luò)、其他硬件資源等。
通過統(tǒng)一的軟件質(zhì)檢平臺(tái)接口,根據(jù)用戶需求提供基礎(chǔ)設(shè)施服務(wù),用戶能夠通過租用的方式訪問并使用大量的基礎(chǔ)設(shè)施資源,可為用戶提供大規(guī)?;虺笠?guī)模的性能驗(yàn)證能力[2]。用戶在軟件質(zhì)檢平臺(tái)下使用這些基礎(chǔ)設(shè)施資源,不需要關(guān)心硬件設(shè)施的物理位置,只需要按測試時(shí)間支付資源使用費(fèi)用,用戶能夠以高性價(jià)比的方式獲得計(jì)算資源,無需投入大型的專用測評實(shí)驗(yàn)室的建設(shè)。
在此基礎(chǔ)設(shè)施層之上,根據(jù)行業(yè)發(fā)展需要,軟件質(zhì)檢平臺(tái)可以定制提供不同的大型平臺(tái)應(yīng)用服務(wù)解決方案,供用戶靈活選擇使用,如移動(dòng)、電信等平臺(tái)的大規(guī)模移動(dòng)應(yīng)用計(jì)算服務(wù)。
1.1.2質(zhì)檢工具資源
軟件質(zhì)檢平臺(tái)采用云計(jì)算技術(shù),建立統(tǒng)一的測試工具資源池,通過虛擬化技術(shù),將各種測試資源按照行業(yè)領(lǐng)域等進(jìn)行合理的配置,形成符合行業(yè)軟件質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)的資源模板。為用戶提供“一站式服務(wù)”門戶,用戶需要時(shí)通過申請即可使用,使用完成后,系統(tǒng)自動(dòng)回收資源,放入測試工具資源池。綜合分析質(zhì)檢工具資源的使用方式主要包括以下幾類:
(1)單機(jī)運(yùn)行的軟件。對于可單機(jī)運(yùn)行的軟件,通過虛擬化技術(shù),將其移植到云計(jì)算應(yīng)用平臺(tái)上,通過統(tǒng)一的平臺(tái)向軟件企業(yè)或相關(guān)質(zhì)檢機(jī)構(gòu)提供遠(yuǎn)程質(zhì)檢服務(wù)。
(2)分布式應(yīng)用軟件。對于需要超大規(guī)模并發(fā)用戶數(shù)的質(zhì)檢服務(wù)需求,單個(gè)質(zhì)檢機(jī)構(gòu)無法單獨(dú)完成,通過平臺(tái)進(jìn)行管理調(diào)度,聚合多家監(jiān)測機(jī)構(gòu)現(xiàn)有的資源,發(fā)布統(tǒng)一的檢驗(yàn)?zāi)_本,協(xié)作完成質(zhì)檢業(yè)務(wù),同時(shí)平臺(tái)匯總質(zhì)檢結(jié)果數(shù)據(jù)。
(3)對資源占用率較高的質(zhì)檢工具。由于現(xiàn)有的虛擬化技術(shù)存在資源損耗,平臺(tái)通過視頻壓縮的遠(yuǎn)程顯示技術(shù),以無損的形式將相關(guān)應(yīng)用提供給終端用戶。
1.2行業(yè)軟件質(zhì)檢解決方案
經(jīng)過多年的實(shí)踐,各質(zhì)檢機(jī)構(gòu)在特定行業(yè)(如軌道交通、汽車電子、航空機(jī)載軟件等)的軟件產(chǎn)品的質(zhì)量監(jiān)督檢驗(yàn)過程中積累了大量的經(jīng)驗(yàn),并對特定行業(yè)的相關(guān)軟件標(biāo)準(zhǔn)有了較深的理解,但是沒有形成一個(gè)針對行業(yè)領(lǐng)域軟件質(zhì)檢的完整解決方案。這就需要各質(zhì)檢機(jī)構(gòu)及行業(yè)領(lǐng)域相關(guān)組織共同研究分析,將這些經(jīng)驗(yàn)和理解知識化、系統(tǒng)化,使之形成特定行業(yè)的軟件質(zhì)量監(jiān)督檢驗(yàn)解決方案,并通過軟件質(zhì)檢平臺(tái)對外提供服務(wù),具體包括如下內(nèi)容:
(1)通過軟件質(zhì)檢平臺(tái)聯(lián)合特定行業(yè)的龍頭企業(yè),以聯(lián)合實(shí)驗(yàn)室、技術(shù)中心等不同形式發(fā)布有針對性的軟件質(zhì)量監(jiān)督檢驗(yàn)整體解決方案,幫助企業(yè)增強(qiáng)創(chuàng)新能力,形成具有自主知識產(chǎn)權(quán)的技術(shù)和產(chǎn)品;推動(dòng)產(chǎn)學(xué)研聯(lián)合,促進(jìn)技術(shù)成果轉(zhuǎn)化、適用技術(shù)推廣和創(chuàng)新資源共享;培育示范試點(diǎn)工程,建設(shè)不同領(lǐng)域軟件質(zhì)量監(jiān)督檢驗(yàn)推廣示范中心,輻射全國,帶動(dòng)全行業(yè)、全領(lǐng)域的軟件質(zhì)量提升。
(2)以行業(yè)領(lǐng)域?yàn)楸尘埃瑢⒏髻|(zhì)檢機(jī)構(gòu)成功的測試案例進(jìn)行分類整理,構(gòu)建對應(yīng)的軟件質(zhì)檢知識庫(包括測試用例庫、產(chǎn)品缺陷庫、質(zhì)檢工具應(yīng)用方案等),并使用語義和數(shù)據(jù)挖掘技術(shù)對這些信息資源進(jìn)行處理,用戶可通過軟件質(zhì)檢平臺(tái)快捷地獲取相關(guān)領(lǐng)域的質(zhì)檢方案。
(3)軟件質(zhì)檢平臺(tái)可以記錄行業(yè)軟件質(zhì)檢過程和結(jié)果,不斷豐富知識管理的各個(gè)信息庫,并獲得更精確的質(zhì)量數(shù)據(jù)。
(4)某些行業(yè)對軟件開發(fā)的過程已有相關(guān)標(biāo)準(zhǔn)要求,這些標(biāo)準(zhǔn)規(guī)定了行業(yè)相關(guān)軟件工程化管理的內(nèi)容。對于這些行業(yè)來說,軟件產(chǎn)品的標(biāo)準(zhǔn)符合性檢查是軟件質(zhì)檢的必要工作。將這些標(biāo)準(zhǔn)與行業(yè)實(shí)際需求結(jié)合并系統(tǒng)化、流程化,通過軟件質(zhì)檢平臺(tái)提供規(guī)范化的軟件過程管理工具,指導(dǎo)相關(guān)行業(yè)的軟件企業(yè)的開發(fā)過程,確保其軟件過程的標(biāo)準(zhǔn)符合性。
公共服務(wù)平臺(tái)的整個(gè)框架[3-4]由物理資源、資源池、管理中間件、軟件即服務(wù)組成,如圖1所示。其中資源池將經(jīng)過虛擬化的測試資源、計(jì)算資源、存儲(chǔ)資源、管理資源和數(shù)據(jù)資源以基礎(chǔ)設(shè)施即服務(wù)的方式通過網(wǎng)絡(luò)提供給用戶使用和管理。為了能夠?qū)崿F(xiàn)高層次的資源管理邏輯,必須對資源進(jìn)行抽象,也就是對硬件資源進(jìn)行虛擬化。虛擬化的過程一方面需要屏蔽掉硬件產(chǎn)品上的差異,另一方面需要對每一種硬件資源提供統(tǒng)一的管理邏輯和接口。
管理中間件層包括用戶管理組件、任務(wù)管理組件、資源管理組件、安全管理組件等。資源管理主要包括資源部署、資源監(jiān)控、負(fù)載均衡、故障恢復(fù)等[5]。
用戶管理主要提供計(jì)費(fèi)管理,云計(jì)算倡導(dǎo)“按使用計(jì)費(fèi)”的模式。面向公眾提供服務(wù)的公共測試服務(wù)云,主要的計(jì)費(fèi)模式是依據(jù)某個(gè)時(shí)間段內(nèi)所使用的測試資源以及所消耗的存儲(chǔ)、網(wǎng)絡(luò)、內(nèi)存等資源向用戶收費(fèi)。
安全管理主要提供身份認(rèn)證、訪問授權(quán)、綜合防護(hù)和安全審計(jì)等功能。
最頂層為軟件即服務(wù)層,是整個(gè)公共服務(wù)平臺(tái)的一個(gè)門戶[6],對用戶開放測試申請功能以及面向行業(yè)領(lǐng)域的測試應(yīng)用;為行業(yè)解決方案提供商提供內(nèi)容管理功能,以供其管理或維護(hù)其貨架上的測試資源。
圖1 測試公共服務(wù)平臺(tái)架構(gòu)
關(guān)鍵技術(shù)包括支撐測試云建設(shè)的桌面虛擬化技術(shù)、桌面顯示協(xié)議技術(shù)、基于視頻壓縮的遠(yuǎn)程顯示核心技術(shù)。
(1)支撐測試云建設(shè)的桌面虛擬化技術(shù)
基于VDI的虛擬桌面解決方案[7]是在服務(wù)器側(cè)為每個(gè)用戶準(zhǔn)備其專用的虛擬機(jī)并在其中部署用戶所需的操作系統(tǒng)和各種應(yīng)用,然后通過桌面顯示協(xié)議將完整的虛擬機(jī)桌面交付給遠(yuǎn)程的用戶,其實(shí)現(xiàn)基礎(chǔ)是服務(wù)器虛擬化。服務(wù)器虛擬化主要有完全虛擬化和部分虛擬化兩種方法:完全虛擬化能夠?yàn)樘摂M機(jī)中的操作系統(tǒng)提供一個(gè)與物理硬件完全相同的虛擬硬件環(huán)境;部分虛擬化則需要在修改操作系統(tǒng)后再將其部署到虛擬機(jī)中。基于VDI的虛擬桌面解決方案通常采用完全虛擬化技術(shù)構(gòu)建用戶專屬的虛擬機(jī),并在其上部署桌面版Windows、Linux用于提供服務(wù)。
采用基于VDI的解決方案,用戶能夠獲得一個(gè)完整的桌面操作系統(tǒng)環(huán)境,與傳統(tǒng)的本地計(jì)算機(jī)的使用體驗(yàn)十分接近。用戶虛擬桌面能夠?qū)崿F(xiàn)性能與安全的隔離,并擁有服務(wù)器虛擬化技術(shù)帶來的其他優(yōu)勢,服務(wù)質(zhì)量可以得到保障。
(2)桌面顯示協(xié)議
桌面顯示協(xié)議是影響虛擬桌面用戶體驗(yàn)的關(guān)鍵,當(dāng)前主流的顯示協(xié)議包括PCoIP、RDP、SPICE、ICA等,并被不同的廠商所支持。
傳輸帶寬要求的高低直接影響了遠(yuǎn)程服務(wù)訪問的流暢性。桌面顯示協(xié)議采用具有極高處理性能和數(shù)據(jù)壓縮比的壓縮算法,極大地降低了對網(wǎng)絡(luò)帶寬的需求。圖像展示體驗(yàn)反映了虛擬桌面視圖的圖像數(shù)據(jù)的組織形式和傳輸順序。其中PCoIP采用分層漸進(jìn)的方式在用戶側(cè)顯示桌面圖像,即首先傳送給用戶一個(gè)完整但是比較模糊的圖像,在此基礎(chǔ)上逐步精化,相比其他廠商采用的分行掃描等方式,具有更好的視覺體驗(yàn)。虛擬桌面視圖內(nèi)容以圖片方式進(jìn)行傳輸,所以視頻播放時(shí)的每一幀畫面在解碼后都將轉(zhuǎn)為圖片從而導(dǎo)致數(shù)據(jù)量的劇增。為了避免網(wǎng)絡(luò)擁塞,可以獲取用戶側(cè)設(shè)備的處理能力,自適應(yīng)地將視頻解碼工作放在用戶側(cè)進(jìn)行。
(3)基于視頻壓縮的遠(yuǎn)程顯示核心技術(shù)[8]
服務(wù)端使用視頻編碼技術(shù)把桌面圖像信息進(jìn)行視頻壓縮處理,極大地減少了網(wǎng)絡(luò)帶寬,實(shí)時(shí)地將桌面圖像信息傳輸?shù)竭h(yuǎn)程終端;終端使用帶有視頻解碼的嵌入式處理器實(shí)現(xiàn)桌面圖像信息的實(shí)時(shí)、快速及高效解碼;終端的鍵盤、鼠標(biāo)、U盤等USB設(shè)備,采用輸入輸出重定向虛擬映射技術(shù)可以映射到服務(wù)端。
本文分析了聚合國內(nèi)軟件質(zhì)檢機(jī)構(gòu)測試資源面臨的問題,并給出了一種基于云計(jì)算的軟件測試公共服務(wù)平臺(tái)設(shè)計(jì)方案,通過測試云服務(wù)等方式以統(tǒng)一的平臺(tái)接口推動(dòng)國內(nèi)軟件質(zhì)檢資源共享,提供不同行業(yè)的軟件質(zhì)檢方案,規(guī)范相應(yīng)軟件質(zhì)檢標(biāo)準(zhǔn)和流程,全面提升國內(nèi)軟件質(zhì)檢水平。借助于云計(jì)算技術(shù)的按需服務(wù)和計(jì)費(fèi)的模式,大大降低軟件企業(yè)在軟件質(zhì)檢方面以及質(zhì)檢機(jī)構(gòu)的運(yùn)營成本;另外也從根本上解決了政府重復(fù)投入、檢測資源浪費(fèi)的問題。本文的平臺(tái)設(shè)計(jì)方案已在某國家級軟件產(chǎn)品質(zhì)量監(jiān)督檢驗(yàn)中心的測試云平臺(tái)建設(shè)中得到成功應(yīng)用,取得了良好的效果。下一階段的工作重點(diǎn)將面向各行業(yè)領(lǐng)域測試解決方案的構(gòu)建。
[1]王偉軍,姜毅,劉蕤,等.云計(jì)算環(huán)境下軟件測試研究進(jìn)展[J].現(xiàn)代圖書情報(bào)技術(shù),2012(11):3-9.
[2]陳鐵南,唐震,王曉冉.基于云計(jì)算的大規(guī)模性能測試服務(wù)平臺(tái)[J].計(jì)算機(jī)科學(xué),2014,41(9):63-66.
[3]李志剛,馮亞娜.云計(jì)算虛擬環(huán)境下第三方軟件測試環(huán)境研究[J].信息技術(shù),2013(8):183-185.
[4]楊本生,袁祥夢,黃曉光.基于云計(jì)算的軟件測試系統(tǒng)框架研究[J].計(jì)算機(jī)測量與控制,2014,22(6):1683-1686. [5]余鳳,徐曉鐘,李建軍.基于云計(jì)算IaaS產(chǎn)品測試技術(shù)的研究[J].電視技術(shù),2014,38(15):272-276.
[6]王奇,曹良帥,趙賢敬,等.基于SaaS的自動(dòng)化測試云平臺(tái)研究[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2012(10):67-71.
[7]陳鐵南,唐震,王曉冉.基于虛擬桌面架構(gòu)的實(shí)驗(yàn)機(jī)房環(huán)境構(gòu)建[J].沈陽師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,32(3):401-404.
[8]張鵬.虛擬桌面壓縮技術(shù)進(jìn)展[J].電腦知識與技術(shù),2013,9(34):7788-7791.
Design for softw are testing of public service p latform based on Cloud com puting
Zhou Xianming1,Li Jianjun1,Wang Lihua2,Zhu Nengjie3
(1.East China Institute of Computer Technology,Shanghai 200233,China;2.Shanghai Harbor Quality Control&Testing Co.,Ltd.,Shanghai 200032,China;3.Shenzhen Cenbong Communications Co.,Ltd.,Shenzhen 518034,China)
This paper analyzes the problems of resource aggregation in the domestic software quality inspection industry,proposes the use of Cloud computing aggregate resources quality inspection institutions in various software programs,and gives the design and implementation of the public testing service platform based on Cloud computing technology.Through the unified Cloud services this platform promotes the domestic software quality resource sharing,and provides a new businessmodel for software quality inspection institutions.
software testing public service p latform;software quality inspection resources aggregation;software testing Cloud;Cloud computing
TP311.5
A
1674-7720(2015)04-0014-03
(2014-10-18)
周顯明(1961-),男,碩士,高級工程師,主要研究方向:軟件測試。
李建軍(1983-)男,碩士,高級工程師,主要研究方向:軟件工程、軟件測試。
王莉華(1982-),女,本科,工程師,主要研究方向:質(zhì)量檢測。