謝巧玲
西安文理學院信息工程學院
基于云計算的軟件測試系統(tǒng)研究
謝巧玲
西安文理學院信息工程學院
軟件測試是軟件開發(fā)中不可缺少的一個環(huán)節(jié),軟件測試在傳統(tǒng)環(huán)境下具有測試周期長、測試成本高等特點,操作者極易產生枯燥之感。基于上述背景下,將云計算技術引入測試環(huán)境中,促使整個測試過程在虛擬環(huán)境下實現(xiàn)。本文以云計算技術相關知識為研究對象,深入分析云計算環(huán)境下軟件測試交互平臺設計要點,進一步闡述云測試系統(tǒng)整體架構及軟硬件環(huán)境設計情況,以期為類似研究提供一定指導。
云計算技術 軟件測試 測試系統(tǒng) 軟硬件環(huán)境
云計算作為分布式計算模式,云計算運用虛擬化技術和網絡對云中資源展開統(tǒng)一的管理和對外服務,以此形成以用戶為中心“按需使用、按量付費”的服務模式。本文結合云計算技術、軟件測試思想,設計軟件測試系統(tǒng)總框架及交互服務平臺,有效提升軟件測試效率和資源利用效率,進一步縮減測試成本,從而達到自動化測試軟件的目的。
云計算就是依托互聯(lián)網技術的計算方法,它能直接把共享信息、軟硬件資源提供給計算機。由云計算服務特點分析,主要表現(xiàn)為資源池能為多人共享、可靠安全性高,用戶終端處理更為方便。云計算是1980年大型計算機到客戶端—服務器轉變后的重大巨變,它徹底改變用戶獲取信息、軟硬件資源的方法。云測試是依托云技術、解決方案展開軟件測試,簡言之,云測試就是軟件測試、云計算的結合體。云測試作為新型的測試方案,它能合理調用分布式測試資源,并借助統(tǒng)一的服務平臺或形式展現(xiàn)給用戶,為企業(yè)提供一個能夠共享的自動化測試交付平臺。整個測試操作中,與云計算相關內容主要展現(xiàn)在虛擬化技術、云平臺管理、海量數據管理等方面。其中,云平臺能滿足安全、性能、管理等多種測試要求。基于云計算開展軟件測試,其優(yōu)點為只需支付平臺服務費用,不需要在測試工具上投入大量資金。同時,企業(yè)運用云測試服務時,能夠使用多種測試資源,從而為測試者進行軟件測試帶來諸多便利。
雖然傳統(tǒng)軟件測試法也存在一些優(yōu)勢,但具體應用中往往出現(xiàn)測試工具配置、測試工具使用等方面的問題。將云計算技術引入軟件測試中,能有效解決傳統(tǒng)軟件測試法中的問題。必須注意,使用云計算技術要設計好相應的交互平臺,將Web交互界面提供給測試者,整個測試過程在虛擬環(huán)境中實現(xiàn),用戶只需等待測試結果即可。設計交互平臺時,先要由平臺整體架構入手,設計云計算三層架構模式,統(tǒng)一管理部分以交互平臺為主。實際設計中,要求設計者在Web界面中選擇測試服務,進而明確軟件測試需求。基于此構建虛擬機實例,這個過程可在虛擬機池調用AWS EC2實現(xiàn)。若虛擬機實例被構建以后,REST ful API能把測試數據傳遞給AGENT,此時,服務器會依據上述數據確定信息并發(fā)布軟件測試時間。最終測試結果傳遞至服務器,并形成相應對的圖表和報表,用戶只要深入分析上述圖表和報表,便能獲取測試結果。
3.1 設計測試系統(tǒng)總架構
云計算包含基礎設施即服務(IaaS)、軟件即服務(SaaS)、平臺即服務(PaaS)三種模式,云測試系統(tǒng)以上述上中服務模式為依托展開設計,具體架構見圖1。在Iaas層中,系統(tǒng)借助虛擬化技術把處理器、網絡及其他設施資源虛擬為資源池,并以服務的形式統(tǒng)一提供給用戶。用戶依據自己的需要向系統(tǒng)提供請求,無需關注資源如何進行分配和調度,有利于提升硬件資源利用效率,確保整個測試過程達到智能化、自動化的管理效果。TaaS層:系統(tǒng)根據訪問接口傳出的測試需求,挑選空閑的軟硬件完成安裝,達到配置、維護目標測試環(huán)境的目的。PaaS作為軟件開發(fā)的業(yè)務平臺,能為使用者提供定制化研發(fā)中間件平臺。該層主要包含虛擬資源管理、測試任務和中間件管理三個模塊組成,其中,虛擬資源管理模塊旨在合理調度、分配虛擬化基礎設施;測試任務管理模式重點功能調度測試任務。
3.1.1 配置測試系統(tǒng)硬件環(huán)境
構建云測試系統(tǒng)過程中,為節(jié)省研究成本,確保軟件測試的經濟性,我們使用三臺x86架構單個服務器為測試系統(tǒng)的硬件設備。必要情況下,可逐步擴展硬盤、內存等各項資源。在云測試系統(tǒng)中,使用三臺計算機為服務器,其一臺當做云測試控制與存儲節(jié)點,另外兩臺作為計算節(jié)點,這兩臺計算節(jié)點劃分為控制和執(zhí)行節(jié)點。
3.1.2 設計云測試系統(tǒng)軟件環(huán)境
搭建云測試系統(tǒng)時,先要選擇恰當的云環(huán)境。因本次設計的云測試系統(tǒng)僅供研究使用,因此,設計者并未使用商業(yè)云方案。分析其原因如下,商業(yè)化云平臺和服務使用要按需支付相應的費用,這種情況會增加不必要的成本。加之,上述云測試系統(tǒng)底層設計牢牢把握在提供商手中,并未對外開放。此時,選用開源軟件成為最佳的選擇。一方面,使用開源軟件時無需獲取商業(yè)授權,能把云計算軟件測試研究及實踐控制于較低成本中。另一方面,這種軟件支持下載源代碼,確保研究者能深入研究底層設計架構。現(xiàn)階段,使用最多的開源云包括CloudStack、OpenStack兩種,前者最初是商業(yè)化產品,2011年被Ctrix公司收購,隨之捐獻給Apache基金會,轉變成開源軟件。后者是由Nasa、Rackspace主導設計的基礎云,其擁有HP、Dell、IBM等大型公司用戶群。因CloudStack曾是一款商業(yè)性軟件,以被證實能安全、可靠的用于生產系統(tǒng)中,因此,設計者最終選用CloudStack作為云平臺,并使用KVM為虛擬化軟件。GentOS操作系統(tǒng)作為RedHat非商業(yè)化版本,對CloudStack支持度較高,也是官方主動推薦的操作系統(tǒng)。因此,筆者使用GentOS為服務器操作系統(tǒng)。
結論:綜上所述,使用云計算技術要正確認識其功能與傳統(tǒng)軟件測試存在的問題,并設計相應的交互平臺和測試云系統(tǒng),保障軟件測試在云計算環(huán)境下實現(xiàn),滿足現(xiàn)代化測試高效率的要求。本文研究從云計算相關概念入手,詳細介紹云計算平臺和云測試系統(tǒng)的設計,以期提升軟件測試效率。
[1]楊巍.軟件自動化測試系統(tǒng)的設計[J].科技傳播,2014,23(18):234-234,229
[2]高翀.基于云計算和CDN的軟件自動化測試系統(tǒng)[D].復旦大學,2014
[3]張恩海,王鐸,于晉瑄等.移動終端應用層軟件自動化測試系統(tǒng)設計與實現(xiàn)[J].科技資訊,2015,13(3):12-13

謝巧玲(1979—),女,陜西省安康市人,西安文理學院信息工程學院講師,碩士,主要從事軟件開發(fā)、軟件測試研究。