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