周顯明,李建軍,王莉華,朱能杰
基于云計算的測試公共服務平臺設計技術
周顯明1,李建軍1,王莉華2,朱能杰3
(1.華東計算技術研究所,上海200233;2.上海港灣工程質量檢測有限公司,上海200032;3.深圳市盛邦通信有限公司,深圳518034)
分析了國內軟件質檢行業資源聚合面臨的問題,提出了采用云計算技術聚合各軟件質檢機構資源的方案,設計并實現了基于云計算技術的公共測試服務平臺,該平臺通過測試云服務方式以統一的接口推動國內軟件質檢資源共享,并為軟件質檢機構提供了一種新的業務模式。
軟件測試公共服務平臺;軟件質檢資源聚合;軟件測試云;云計算
近十多年來,國家成立了多家軟件產品質量監督檢驗中心,并投資興建了大量的軟件工程化管理和測試驗證環境。這些基礎設施和測試環境為國家的重點領域工程質量監督檢驗起到了重要的作用,但也存在一定的問題:各家質檢機構地理位置分散、資源無法共享使用,資源規模建設不平衡、資源重復性建設、資源建設后閑置未用、大部分資源只能在實驗室使用等,這些問題直接導致了軟件產品質檢資源的應用水平普遍較低,重點領域和新技術領域的檢測能力不足。如何將這些軟件質檢資源在保障國家重點型號工程建設的同時,面向我國各行業領域企業提供便捷的質檢服務,多層次化地提供質量保證服務,是一項意義重大的工作,這其中面臨著如何有效整合利用這些資源的難題。國外學術界和產業界已經有不少研究人員對云計算環境下的軟件測試問題開展了相關研究,相對而言,國內這方面的研究還處于起步階段[1]。
云計算技術的不斷完善,推動軟件開發技術和應用模式正在向以用戶為中心轉變。云計算是軟件服務化的模式,可以按照用戶需要動態地提供計算、存儲、應用等各類資源,具有可動態的伸縮性、使用成本比較低、可管理性好、節約能耗、安全便捷等優點,解決了資源難以整合使用的難題。
為此,本文分析了軟件質檢資源聚合技術,設計并實現了基于云計算的測試公共服務平臺,最終為整合利用分散的測試資源提供了相應的手段。
1.1軟件質檢資源聚合服務
軟件質檢資源主要包括硬件基礎設施和軟件質檢工具兩個方面。目前,國內軟件質檢機構均具有一定規模的硬件基礎設施和軟件質檢工具,但由于地域限制、職責劃分等方面的原因,未能得到高效的應用。通過統一的平臺接口、結合目前業內新興的云計算技術,可以在一定程度上聚合閑置資源,提高其利用率。
1.1.1基礎設施
采用云計算技術整合國內軟件質檢機構的硬件基礎設施資源,對分散在各地的國內軟件質檢機構的硬件資源進行統一的管控,構建測試云平臺的基礎設施層,具體包括主機、存儲、網絡、其他硬件資源等。
通過統一的軟件質檢平臺接口,根據用戶需求提供基礎設施服務,用戶能夠通過租用的方式訪問并使用大量的基礎設施資源,可為用戶提供大規模或超大規模的性能驗證能力[2]。用戶在軟件質檢平臺下使用這些基礎設施資源,不需要關心硬件設施的物理位置,只需要按測試時間支付資源使用費用,用戶能夠以高性價比的方式獲得計算資源,無需投入大型的專用測評實驗室的建設。
在此基礎設施層之上,根據行業發展需要,軟件質檢平臺可以定制提供不同的大型平臺應用服務解決方案,供用戶靈活選擇使用,如移動、電信等平臺的大規模移動應用計算服務。
1.1.2質檢工具資源
軟件質檢平臺采用云計算技術,建立統一的測試工具資源池,通過虛擬化技術,將各種測試資源按照行業領域等進行合理的配置,形成符合行業軟件質量檢驗標準的資源模板。為用戶提供“一站式服務”門戶,用戶需要時通過申請即可使用,使用完成后,系統自動回收資源,放入測試工具資源池。綜合分析質檢工具資源的使用方式主要包括以下幾類:
(1)單機運行的軟件。對于可單機運行的軟件,通過虛擬化技術,將其移植到云計算應用平臺上,通過統一的平臺向軟件企業或相關質檢機構提供遠程質檢服務。
(2)分布式應用軟件。對于需要超大規模并發用戶數的質檢服務需求,單個質檢機構無法單獨完成,通過平臺進行管理調度,聚合多家監測機構現有的資源,發布統一的檢驗腳本,協作完成質檢業務,同時平臺匯總質檢結果數據。
(3)對資源占用率較高的質檢工具。由于現有的虛擬化技術存在資源損耗,平臺通過視頻壓縮的遠程顯示技術,以無損的形式將相關應用提供給終端用戶。
1.2行業軟件質檢解決方案
經過多年的實踐,各質檢機構在特定行業(如軌道交通、汽車電子、航空機載軟件等)的軟件產品的質量監督檢驗過程中積累了大量的經驗,并對特定行業的相關軟件標準有了較深的理解,但是沒有形成一個針對行業領域軟件質檢的完整解決方案。這就需要各質檢機構及行業領域相關組織共同研究分析,將這些經驗和理解知識化、系統化,使之形成特定行業的軟件質量監督檢驗解決方案,并通過軟件質檢平臺對外提供服務,具體包括如下內容:
(1)通過軟件質檢平臺聯合特定行業的龍頭企業,以聯合實驗室、技術中心等不同形式發布有針對性的軟件質量監督檢驗整體解決方案,幫助企業增強創新能力,形成具有自主知識產權的技術和產品;推動產學研聯合,促進技術成果轉化、適用技術推廣和創新資源共享;培育示范試點工程,建設不同領域軟件質量監督檢驗推廣示范中心,輻射全國,帶動全行業、全領域的軟件質量提升。
(2)以行業領域為背景,將各質檢機構成功的測試案例進行分類整理,構建對應的軟件質檢知識庫(包括測試用例庫、產品缺陷庫、質檢工具應用方案等),并使用語義和數據挖掘技術對這些信息資源進行處理,用戶可通過軟件質檢平臺快捷地獲取相關領域的質檢方案。
(3)軟件質檢平臺可以記錄行業軟件質檢過程和結果,不斷豐富知識管理的各個信息庫,并獲得更精確的質量數據。
(4)某些行業對軟件開發的過程已有相關標準要求,這些標準規定了行業相關軟件工程化管理的內容。對于這些行業來說,軟件產品的標準符合性檢查是軟件質檢的必要工作。將這些標準與行業實際需求結合并系統化、流程化,通過軟件質檢平臺提供規范化的軟件過程管理工具,指導相關行業的軟件企業的開發過程,確保其軟件過程的標準符合性。
公共服務平臺的整個框架[3-4]由物理資源、資源池、管理中間件、軟件即服務組成,如圖1所示。其中資源池將經過虛擬化的測試資源、計算資源、存儲資源、管理資源和數據資源以基礎設施即服務的方式通過網絡提供給用戶使用和管理。為了能夠實現高層次的資源管理邏輯,必須對資源進行抽象,也就是對硬件資源進行虛擬化。虛擬化的過程一方面需要屏蔽掉硬件產品上的差異,另一方面需要對每一種硬件資源提供統一的管理邏輯和接口。
管理中間件層包括用戶管理組件、任務管理組件、資源管理組件、安全管理組件等。資源管理主要包括資源部署、資源監控、負載均衡、故障恢復等[5]。
用戶管理主要提供計費管理,云計算倡導“按使用計費”的模式。面向公眾提供服務的公共測試服務云,主要的計費模式是依據某個時間段內所使用的測試資源以及所消耗的存儲、網絡、內存等資源向用戶收費。
安全管理主要提供身份認證、訪問授權、綜合防護和安全審計等功能。
最頂層為軟件即服務層,是整個公共服務平臺的一個門戶[6],對用戶開放測試申請功能以及面向行業領域的測試應用;為行業解決方案提供商提供內容管理功能,以供其管理或維護其貨架上的測試資源。

圖1 測試公共服務平臺架構
關鍵技術包括支撐測試云建設的桌面虛擬化技術、桌面顯示協議技術、基于視頻壓縮的遠程顯示核心技術。
(1)支撐測試云建設的桌面虛擬化技術
基于VDI的虛擬桌面解決方案[7]是在服務器側為每個用戶準備其專用的虛擬機并在其中部署用戶所需的操作系統和各種應用,然后通過桌面顯示協議將完整的虛擬機桌面交付給遠程的用戶,其實現基礎是服務器虛擬化。服務器虛擬化主要有完全虛擬化和部分虛擬化兩種方法:完全虛擬化能夠為虛擬機中的操作系統提供一個與物理硬件完全相同的虛擬硬件環境;部分虛擬化則需要在修改操作系統后再將其部署到虛擬機中。基于VDI的虛擬桌面解決方案通常采用完全虛擬化技術構建用戶專屬的虛擬機,并在其上部署桌面版Windows、Linux用于提供服務。
采用基于VDI的解決方案,用戶能夠獲得一個完整的桌面操作系統環境,與傳統的本地計算機的使用體驗十分接近。用戶虛擬桌面能夠實現性能與安全的隔離,并擁有服務器虛擬化技術帶來的其他優勢,服務質量可以得到保障。
(2)桌面顯示協議
桌面顯示協議是影響虛擬桌面用戶體驗的關鍵,當前主流的顯示協議包括PCoIP、RDP、SPICE、ICA等,并被不同的廠商所支持。
傳輸帶寬要求的高低直接影響了遠程服務訪問的流暢性。桌面顯示協議采用具有極高處理性能和數據壓縮比的壓縮算法,極大地降低了對網絡帶寬的需求。圖像展示體驗反映了虛擬桌面視圖的圖像數據的組織形式和傳輸順序。其中PCoIP采用分層漸進的方式在用戶側顯示桌面圖像,即首先傳送給用戶一個完整但是比較模糊的圖像,在此基礎上逐步精化,相比其他廠商采用的分行掃描等方式,具有更好的視覺體驗。虛擬桌面視圖內容以圖片方式進行傳輸,所以視頻播放時的每一幀畫面在解碼后都將轉為圖片從而導致數據量的劇增。為了避免網絡擁塞,可以獲取用戶側設備的處理能力,自適應地將視頻解碼工作放在用戶側進行。
(3)基于視頻壓縮的遠程顯示核心技術[8]
服務端使用視頻編碼技術把桌面圖像信息進行視頻壓縮處理,極大地減少了網絡帶寬,實時地將桌面圖像信息傳輸到遠程終端;終端使用帶有視頻解碼的嵌入式處理器實現桌面圖像信息的實時、快速及高效解碼;終端的鍵盤、鼠標、U盤等USB設備,采用輸入輸出重定向虛擬映射技術可以映射到服務端。
本文分析了聚合國內軟件質檢機構測試資源面臨的問題,并給出了一種基于云計算的軟件測試公共服務平臺設計方案,通過測試云服務等方式以統一的平臺接口推動國內軟件質檢資源共享,提供不同行業的軟件質檢方案,規范相應軟件質檢標準和流程,全面提升國內軟件質檢水平。借助于云計算技術的按需服務和計費的模式,大大降低軟件企業在軟件質檢方面以及質檢機構的運營成本;另外也從根本上解決了政府重復投入、檢測資源浪費的問題。本文的平臺設計方案已在某國家級軟件產品質量監督檢驗中心的測試云平臺建設中得到成功應用,取得了良好的效果。下一階段的工作重點將面向各行業領域測試解決方案的構建。
[1]王偉軍,姜毅,劉蕤,等.云計算環境下軟件測試研究進展[J].現代圖書情報技術,2012(11):3-9.
[2]陳鐵南,唐震,王曉冉.基于云計算的大規模性能測試服務平臺[J].計算機科學,2014,41(9):63-66.
[3]李志剛,馮亞娜.云計算虛擬環境下第三方軟件測試環境研究[J].信息技術,2013(8):183-185.
[4]楊本生,袁祥夢,黃曉光.基于云計算的軟件測試系統框架研究[J].計算機測量與控制,2014,22(6):1683-1686. [5]余鳳,徐曉鐘,李建軍.基于云計算IaaS產品測試技術的研究[J].電視技術,2014,38(15):272-276.
[6]王奇,曹良帥,趙賢敬,等.基于SaaS的自動化測試云平臺研究[J].電信工程技術與標準化,2012(10):67-71.
[7]陳鐵南,唐震,王曉冉.基于虛擬桌面架構的實驗機房環境構建[J].沈陽師范大學學報(自然科學版),2014,32(3):401-404.
[8]張鵬.虛擬桌面壓縮技術進展[J].電腦知識與技術,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-),女,本科,工程師,主要研究方向:質量檢測。