周玲妤

摘要 隨著互聯網+戰略的實施,越來越多的企業開始結合互聯網來開發新的商業模式。在這樣的潮流趨勢下,與其密不可分的一部分就有軟件測試。如何有效的檢測出軟件中所存在的錯誤和缺陷,使用何種方法才能更好的在提高軟件的容錯率的同時降低成本,增加軟件的友好度是軟件開從業人員高度關注的一個問題。
【關鍵詞】軟件測試 云計算 云測試
1 引言
軟件測試是一個用來鑒定軟件的質量的一個過程,其目的是發現軟件中可能存在的錯誤。傳統的軟件測試一般是在本地對軟件進行測試,與云測試中將各個測試用例分布到不同硬件進行并行測試上相比,傳統軟件測試每次只能在一個硬件上對測試用例串行的進行測試,且在此過程中產生的各類成本嚴重限制了測試技術的發展。結合云計算的分布式特點及優勢,云測試可以合理動態調用各類資源,通過一個共享可用的自動化測試環境交付平臺給用戶提供高效的便捷服務。而用戶只需要登錄到該測試環境即可使用該服務。
2 傳統軟件測試
傳統的軟件測試方法主要是通過在本地對軟件進行測試來發現軟件中所可能存在的問題,其分類可分為靜態測試和動態測試兩種。靜態測試主要是對軟件源代碼和軟件產品需求和設計規格說明書進行研讀審查來實現對軟件的測試,該種方法在查錯和功能分析上很有優勢。而動態測試主要是通過實際運行程序來發現其中的問題,可分為白盒測試和黑盒測試。
3 云測試
云測試是基于云計算的一種新型測試方案,這種測試方案可以給用戶帶來高效率、低成本的專業服務。云測試使用門檻低,提供按需服務并有針對性的收費的方式,用戶通過互聯網及時獲取到所需的測試資源,實現快速測試。不僅節約了本地資源開銷,同時還節約了維護和審批的成本。除此之外,用戶可以在任意時刻、在不同的環境中進行測試,而且可以快速的拿到有效的測試報告并將其投入使用。
4 云測試的體系結構
云測試作為一種基于云計算的測試方案,其特征是擁有一個基于云的共享構架平臺,測試程序可以在任意終端上執行,用戶可以通過該平臺獲取軟件測試所需的資源從而完成測試工作。在云測試提出后不久,Yu等人就已經有人提出了關于云測試的基礎架構_——Taa S五層架構。隨后也有一些其他學者設計出了不同的云測試體系結構,本文主要介紹肖明清等人[2]的設計方案。
在這種設計方案中,云測試的體系結構可以分為三層:硬件層、云測試服務層、用戶層。用戶層即客戶端,用戶通過客戶端選擇所需服務并執行測試項目。云測試服務層是測試的核心部分,用于實現相關的測試算法,其功能主要包括測試資源的控制及管理、測試程序的調度與執行和測試程序的編輯與開發等。無論是測試數據庫的訪問還是進行資源的管理控制都是在該平臺下進行的。硬件則為實現云測試提供相應的基礎設施。這些基礎設施的使用是通過利用云平臺構建其虛擬測試資源池來實現的。
5 云測試與傳統軟件測試的區別
傳統的軟件測試重點關注測試的過程,以求能盡可能深入的了解測試項目的真實情況。因此,在這種設計模式下,測試人員必須要設計出多種組合的測試用例,盡可能的考慮到所有情況并對這些測試用例逐一進行測試,才能得出較優的測試結果。但是隨著移動互聯網的發展,現如今的軟件的更新換代速度非常快,人工的去逐個進行用例測試是一件很耗時的事情。除此之外,使用傳統的軟件測試所需要的環境的搭建和維護的成本很高,測試資源彈性也很弱。
而云測試與傳統軟件測試不同,它更注重對全局的關注。它能夠提供自動化的測試,并利用云計算分布式的特點將所有的測試用例分散到不同的硬件設備上,并行的完成測試,這樣就大大的縮短了測試所需的時間。不過因其對軟件的測試是在云上完成的,因此,與傳統軟件測試相比,在云上進行測試還要關注一些額外的東西,例如線上監控和熱修復等。不過盡管云測試在安全性能上不如傳統的軟件測試,但其在成本節約、可靠性、實時性和容錯性能上都比傳統的軟件測試要強。表l展示了云測試與傳統軟件測試的區別。
6 總結與展望
隨著互聯網+戰略的部署與實現進程的推進,網絡軟件的頻繁迭代,傳統軟件測試方法的不足將會愈加明顯,云測試將會因其能夠彌補傳統軟件測試方法的不足而擁有廣闊的應用前景。不過究竟是使用云測試還是使用傳統的軟件測試還是要根據測試軟件自身的特性來選擇,而云測試領域也還有很多問題亟待解決。
參考文獻
[1]楊本生,袁祥夢,黃曉光,基于云計算的軟件測試系統框架研究[J].計算機測量與控制,2014,22 (06):168 3-1686.
[2]肖明清,楊召,趙鑫,云測試的概念及應用探索[J].計算機測量與控制,2016,24 (01).
[3]陳瀟瀟,云測試系統研究綜述[J].科學咨詢(科技·管理),2015 (09):34-37,133.