劉鴻飛 石曉寧 梅磊 汪慧婷
摘要:為適應多樣性軟件研發環境的要求,文章提出了基于云計算架構的云測試平臺解決方案。該方案便于測試人員選取測試環境、測試軟件,然后由平臺動態地調用軟件、硬件資源去執行測試,極大地降低了時間成本和人力成本。文章選用了Klocwork10靜態分析軟件在云測試平臺進行自動化測試,結果表明,云測試平臺可以較好地完成測試任務,滿足了測試的要求,提高了測試的效率。
關鍵詞: 云計算;云測試;軟件測試;自動化測試;Klocwork10
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2019)09-0035-03
Abstract: In order to meet the testing requirements of various software R&D environments, this paper proposes a cloud testing platform solution based on cloud computing architecture. The platform allows the tester to select the testing environment and software, and then the platform dynamically invokes software and allocates hardware resources to perform the test, which greatly reduces the time cost and labor cost. This paper selected Klocwork 10 static analysis software for automated testing on the cloud testing platform. The results show that the cloud testing platform can complete the test task well, meet the testing requirements, and improve the testing efficiency.
Key words: cloud computing; cloud testing; software testing; automated testing;Klocwork10
1 概述
隨著科技水平的提升,對軟件可靠性、安全性的要求也逐漸提高[1]。由于缺少統一的開發環境標準,不同裝備的軟件開發環境迥異,極大增加了軟件測試人員搭建測試環境[2]、進行靜態分析[3]的難度。為了適應當前多樣的研發環境,方便測試人員進行測試,提高測試效率,本文設計實現了云測試平臺的方案,用戶只需通過云平臺的web界面提交測試請求,便可以得到測試結果,省去了測試人員購買測試設備、搭建測試環境等煩瑣的過程,從而達到省時、省力、省錢的效果,凸顯了云測試平臺的易用性。
2 云計算與云測試
云計算[4]是在分布式計算(Distributed Computing)、并行計算(Parallel Computing)和網格計算(Grid Computing)的基礎上發展起來的一種計算模型,具有超大規模、虛擬化、高可靠性、高可擴展性、按需服務等特點。
云計算可以提供3個層次的服務:基礎設施即服務(Infrastructure as a Service),如用戶可以租用平臺的硬件服務器等;平臺即服務(Platform as a Service),如向用戶提供軟件研發的平臺等;軟件即服務(Software as a Service),如向用戶提供軟件租用的服務等。
云計算有三種云模式:公有云,一般由第三方供應商提供,可通過互聯網使用,價格低廉但無法保證數據的安全性;私有云,為客戶單獨構建,具有較高的服務質量以及數據安全可靠型;混合云,公有云與私有云的結合,具有較強的靈活性,既可以對外提供服務,又可以保障內部數據安全。
云測試[5]是一種基于云計算技術的測試方法,它將軟件測試或者測試應用作為一種服務供用戶使用。用戶采用瀏覽器與云測試平臺進行交互、通過網絡上傳測試腳本或測試任務、或直接使用云測試平臺的應用資源進行測試,最后再通過網絡從云測試平臺上下載測試結果與評價。云測試具有諸多云計算的特點,使其能夠更有效地解決軟件測試中的問題,如價格便宜、資源整合、使用方便等。
3 軟件云測試平臺
3.1 系統架構
云平臺采用模塊化的系統架構設計,如圖1所示,具有高靈活性、高可擴展性和高可靠性等特點。
靈活性:可以針對用戶的不同需求,將功能模塊進行靈活的組合;
可擴展性:方便添加、升級功能,無須改變當前系統設置,只需升級對應功能模塊或將新的功能模塊插入到系統架構中即可完成;
高可靠性:采用分布式數據庫技術,能夠保障系統關鍵數據不丟失,同時提高系統響應用戶請求的速度,從而支持大規模并發用戶訪問。
3.2 系統資源抽象
云平臺對底層的硬件資源實現不同層次和粒度的抽象化,使得云平臺的軟件環境與底層的硬件架構相分離,便于將異構的硬件服務器、基礎架構、存儲、網絡架構等整合成資源池進行統一管理,從而可以實現資源的負載均衡、動態調度、快速部署,同時也可以為用戶以及管理員快速、精準地掌握任務、系統運行情況提供可靠幫助。
3.3 智能化管理
云平臺的智能化管理包括整個平臺的負載均衡、實時監控和任務的動態調度等,同時可以根據系統各種指標以及運行的歷史信息形成狀態評估以及報表,供運維人員參考。