羅文清
摘 要:軟件測試是保證軟件質(zhì)量符合工程需求的一種工具,然而隨著現(xiàn)代化的軟件工程的規(guī)模越來越大,軟件測試的工作也越來越繁重,需要耗費大量的人力物力投入,且軟件開發(fā)過程中,軟件需求隨時都會發(fā)生變化,這就對軟件測試提出了更好的要求,在此背景下,軟件測試項目的維護和執(zhí)行自動化實現(xiàn)就成為了一個亟需解決的問題,本文提出通過云計算環(huán)境中的自動化測試平臺將測試資源分布到云上,提高軟件測試的效率,降低測試成本。該基于云計算的軟件自動化測試平臺能夠接受用戶的測試腳本并在云端進行測試,并提供項目的資助管理,方便用戶對項目的跟蹤。
關(guān)鍵詞:云計算;軟件測試;自動化
0 引言
隨著計算機軟件行業(yè)的發(fā)展,軟件的質(zhì)量亦成為了軟件使用者所關(guān)心的核心要素,然而軟件測試過程中面臨著各種不可預(yù)知的問題以及最終用戶對軟件的安全可靠性需求,使得軟件的測試工作成為保證軟件質(zhì)量的重要工具。然而在大多數(shù)中小軟件開發(fā)企業(yè)中,受限于企業(yè)的自身條件,維持一個較大的軟件測試團隊顯然是不合理的,即使是在大型企業(yè)中,也往往因為軟件本身的復(fù)雜度或是業(yè)務(wù)的復(fù)雜度,使得軟件測試成為一個邊際效用不太友好的狀況。囿于以上種種問題,軟件自動化測試平臺的出現(xiàn)已成為一種必然的趨勢,而隨著云計算的出現(xiàn),基于云計算的測試平臺能夠進一步降低軟件的測試成本而受到了相關(guān)軟件測試需求者的歡迎。
1 基于云計算的軟件自動化測試概述
隨著互聯(lián)網(wǎng)行業(yè)的不斷發(fā)展,云計算成為近年來受到廣泛歡迎的一種互聯(lián)網(wǎng)技術(shù)。云計算作為一種依托于Web服務(wù)的計算,能夠?qū)⒃瓉肀仨氃诒镜剡M行測試的軟件通過網(wǎng)絡(luò)在服務(wù)器端進行測試并返回測試結(jié)果。能夠很大程度上實現(xiàn)算力資源發(fā)的共享,降低了企業(yè)的硬件投入成本,提高了算力資源的利用率。因而云計算也成為互聯(lián)網(wǎng)計算未來的發(fā)展方向,能夠在云平臺上根據(jù)不同用戶的不同需求進行動態(tài)的算力資源分配。
自動化測試工具用于在沒有測試工程師參與的環(huán)境中對軟件進行測試,其出現(xiàn)大大的降低了軟件測試領(lǐng)域的門檻,為企業(yè)的發(fā)展提供了更多的可能性,基于云計算的軟件自動化測試是基于云計算環(huán)境大的一種新型測試方式,如眾所周知的Cloud Testing平臺就是一個配置在云端的自動化測試平臺,該平臺支持多種瀏覽器,用戶可在本地編寫好測試腳本后通過Cloud Testing平臺對所需測試的軟件進行測試,,并能夠根據(jù)自身的需要實現(xiàn)自動的資源配置。進行云計算進行自動化測試是的軟件測試的資源投入大大的降低,對各種中小型企業(yè)十分友好。
2基于云計算的軟件自動化測試平臺設(shè)計
基于云計算的軟件自動測試平臺主要包括測試腳本服用、測試過程記錄以及測試結(jié)果記錄三個方面,一般來說,云自動化測試平臺可根據(jù)被測試系統(tǒng)進行兼容性測試,如在Windows和Linux不同系統(tǒng)平臺中的運行情況,再者應(yīng)當(dāng)能夠很好的記錄開發(fā)過程中出現(xiàn)的各種問題,保證測試后對軟件改進的信息支撐作用。
為保證基于云計算的軟件自動化測試平臺能夠?qū)崿F(xiàn)以上幾種功能,該云測試平臺應(yīng)具備:具備互聯(lián)網(wǎng)訪問能力,以及擁有互聯(lián)網(wǎng)訪問入口,以便于用戶進入測試平臺;支持多操作系統(tǒng)、多瀏覽器內(nèi)核,以便于用戶測試在不同環(huán)境中軟件的表現(xiàn)。依據(jù)需求以及系統(tǒng)資源配置,對基于云計算的軟件自動化測試平臺門戶層、Taas層以及IaaS層進行如下設(shè)計。
首先,在門戶層,相關(guān)測試用戶應(yīng)當(dāng)能夠根據(jù)自身需求對測試資源繼續(xù)請求以及配置,并在建立測試項目后上傳測試算例以及查看歷史測試記錄。其次,在TaaS層,云平臺的后端應(yīng)用服務(wù)器中應(yīng)當(dāng)有一定大的與處理機制,以保證測試代碼的高效使用,通過預(yù)處理機制,對相關(guān)測試代碼進行分級分組測試,提高測試質(zhì)量。最后,在IaaS層,部署云緩存管理節(jié)點以保證云平臺后端的虛擬機資源,存儲相關(guān)測試資源,另外在IaaS層還應(yīng)該擁有云測試中心和測試虛擬機池用于監(jiān)控測試過程和生成測試報告。
通過對門戶層、TaaS層以及IaaS層進行相應(yīng)分設(shè)計搭建起云自動測試平臺后,需要對云自動測試平臺的測試流程進行梳理,以保證軟件測試的順利實施。云自動化測試平臺的測試流程主要由測試腳本的編寫、測試腳本的提交、測試腳本的解析、測試任務(wù)的分發(fā)、執(zhí)行測試腳本以及生成測試報告并反饋等六個部分組成。
第一步需要根據(jù)實際的待測試系統(tǒng)需求編寫相應(yīng)的測試算例,按照需要測試的功能點所做的業(yè)務(wù)規(guī)劃進行測試任務(wù)的分解,并依據(jù)具體的測試任務(wù)編寫相應(yīng)的測試腳本。在完成測試腳本的編寫后便是測試腳本的提交,用戶登入云自動化測試平臺后,根據(jù)測試的類別可選擇相應(yīng)的測試資源進行配置。之后便是云平臺對測試腳本進行解析,后端服務(wù)器接到測試請求后,會對腳本信息進行解析和預(yù)處理,并根據(jù)待測試系統(tǒng)的實際情況將測試任務(wù)盡可能的進行恰當(dāng)?shù)姆纸猓员阌诓渴鸬蕉嗯_虛擬機中進行并行化計算,當(dāng)完成測試任務(wù)的分解后,便是后端的虛擬機根據(jù)所分配到的任務(wù)進行計算,并在完成計算后提交結(jié)果到一個用于匯總最終信息的機器中,并生成測試報告以便于用于進行查詢被測試系統(tǒng)的質(zhì)量。
3 結(jié)語
本文通過梳理軟件自動測試現(xiàn)狀以及云計算背景下的相關(guān)應(yīng)用情況,為基于云計算的軟件自動化測試平臺設(shè)計提供了理論依據(jù)和應(yīng)用場景,之后介紹了基于云計算的軟件自動化測試平臺的框架,同時對基于云計算的軟件自動化測試平臺相關(guān)設(shè)計要素進行了分析,并從門戶層、TaaS層以及IaaS層三個層次對其進行了設(shè)計,使得該平臺具備測試資源的動態(tài)分配、測試腳本的分布式執(zhí)行以及測試結(jié)果的生成協(xié)助用戶有效的進行系統(tǒng)優(yōu)化的功能。最后根據(jù)云計算的軟件自動化測試平臺在實際應(yīng)用場景中的應(yīng)用對其使用流程進行梳理分析,將該云計算的軟件自動化測試平臺從測試算例的編寫到最終的測試報告生成一整條完整流程進行了解剖,使其成為有測試需求的用戶進行測試的有效工具,也為該平臺最后能夠落地使用提供了依據(jù)。
參考文獻
[1] 王莉, 殷鋒, 李奇. 軟件自動化測試腳本設(shè)計研究[J]. 西南民族大學(xué)學(xué)報:自然科學(xué)版, 2006(02):357-360.
[2] 王世俊. 軟件自動化測試框架的研究和實現(xiàn)[D]. 華東師范大學(xué), 2006.