1、“云測試”簡介
云測試是基于云計算的一種新型測試方案,云計算通過網絡以按需、易擴展的方式向用戶交付所需的資源,包括基礎設施、應用平臺、軟件功能等服務。
云計算包含三種不同服務類型:SaaS、PaaS和IaaS。SaaS(Software as a Service,軟件即服務)指的是通過瀏覽器,以服務形式提供給用戶應用程序;PaaS (Platform as a Service,平臺即服務)指的是以服務形式提供給開發人員應用程序開發及部署平臺,讓其利用此平臺來開發、部署和管理SaaS應用程序。平臺一般包含數據庫、中間件及開發工具,所有都以服務形式通過互聯網提供;IaaS (Infrastructure as a Service,基礎架構即服務)指的是以服務形式提供服務器、存儲和網絡硬件。這類基礎架構一般是利用網格計算架構建立虛擬化的環境,因此虛擬化、集群和動態配置軟件也被涵蓋在IaaS之中。
從云計算的服務類型來區分,基于云計算技術的云測試屬于PaaS層。它是軟件測試工具(包括功能測試工具、性能測試工具等)服務商提供一個測試平臺,軟件開發企業在其平臺上進行相關自動化測試、不再在本地計算機上安裝和使用這些工具。這種無須本地安裝和配置測試環境,在遠程測試平臺上進行測試的方式就叫云測試。
2、“云測試”的必要性
在企業的信息化建設過程中,通常需要對軟件全生命周期進行系統化的測試,確定系統過程度量和質量度量,保證企業信息系統有序可控的設計、開發和運行,并實現對軟件全生命周期的質量控制和過程管理。同時許多應用系統的上線運行、升級改造、運行維護都需要進行大量且頻繁的系統測試。在日常的測試工作中,出現因測試資源不足而推遲測試時間、環境工具配置復雜而延長測試周期的情況。測試任務重、成本高、時間緊、人員和軟硬件資源缺乏成為當前需首要解決的問題。
針對當前存在的問題,利用云計算技術可以實現企業內多個團隊的測試平臺共享。在建設測試基礎設施方面,云測試可實現巨大節省,將前期的高額投入分攤到多個測試用戶上,無需擔心大量的硬件、軟件和人力資源成本。
云測試提供一整套測試環境,測試人員登錄到該測試環境,就可以立即展開測試。這將軟硬件安裝、環境配置、環境維護的代價轉移給云測試提供者,極大地減少了測試環境搭建時間,如機器和網絡準備、操作系統安裝、各種測試工具軟件安裝等,提高了測試效率;在云測試平臺上進行性能測試,可以開啟更多的客戶端,獲得更加強大的運算能力,能夠盡早發現和應對意料之外的流量高峰,讓測試軟件獲得巨大的性能改善。
云測試不但可以提供完整的測試環境,還可以提供許多附加服務,如提供測試用例、測試數據、自動測試服務等。相比提供虛擬化的測試環境,此類服務更專注于特定的業務領域,提供了稀缺的專業技能,附加值更高。
3、大型企業信息系統中的“云測試”應用
(1)選擇云配置
國家標準與技術研究院(NIST)提出一套關于云的定義,該定義提出了4種不同的云配置:
公共云:公共云的云服務通常遍布整個因特網,能夠服務于幾乎不限數量的、擁有相同基本架構的客戶。如Cloud Testing企業能提供多種瀏覽器的平臺,一般的用戶在本地用Selenium把自動化測試腳本編寫好,然后上傳到企業網站,就可以在其平臺上運行Selenium腳本。
私有云:這種類型的云針對單個機構特別定制,例如一些金融機構或政府機構。私有云都會采用一些虛擬化操作系統和網絡技術,因此能夠降低使用服務器和網絡設備的數量,或者使這些設備的管理更為明晰。
社區云:社區云專為一系列互不相連的、嚴格界定的機構而設立,如供應鏈或是多個政府機構的聯合體等使用實例。
混合云:這種云表現為以上多種云配置的組合,數個云以某種方式整合在一起,為一些商業計劃提供支持。有時用戶可能需要用一套單獨的證書訪問多個云,有時數據可能需要在多個云之間流動,或者某個私有云的應用可能需要臨時使用公共云的資源。
結合大多數企業信息系統建設的現狀,從成本、應用、管理、安全性等多方面考慮。私有云在安全性、可擴展性上優于公共云,且易于管理,更加適合于企業的云配置。
(2)云測試內容
目前企業云測試的測試內容主要包括:
測試內容 | 描述 |
硬件環境 | 測試軟件在不同應用場景下對硬件環境的要求 |
軟件環境 | 測試軟件對不同運行平臺(如操作系統、數據庫、瀏覽器等)的適應性 |
功能 | 進行軟件功能的自動化測試 |
性能 | 進行軟件性能和壓力測試 |
安全性 | 進行漏洞掃描、訪問控制等安全性測試 |
標準符合性 | 通過二次開發的方式測試軟件協議、接口、數據等的標準符合性 |
隨著企業業務和云計算技術的發展,為軟件測試服務的各種應用亦將得到發展,云測試的測試內容也應即時得到整理和更新。
(3)構建云測試平臺
依據云配置,構建適用于企業的云測試平臺應分為以下四層:資源層、資源管理層、服務管理層、訪問管理層。
底層是資源層,資源層是構建云測試平臺的基礎,它包括服務器、存儲和網絡設施等。資源層由資源管理層管理,負責高并發量的用戶請求處理、大運算量計算處理、及云數據的存儲等。
資源管理層監控和管理平臺資源的使用情況,迅速反應,完成節點同步配置、負載均衡配置和資源監控等工作,確保資源能順利分配給合適的用戶,動態地部署、配置和回收資源。
服務管理層提供管理和服務,對云用戶和用戶選擇的云測試服務進行管理。云測試服務部署在服務管理層,是平臺的核心內容。
最上面一層是訪問管理層,提供云用戶請求服務的交互界面,根據用戶請求并轉發到相應的程序,是用戶使用云測試平臺的入口。
這四層包括硬件和軟件,共同構成了云測試平臺。企業可以將應用程序、測試工具部署在平臺中,提高測試的效率。
(4)擴展云測試應用
除利用云測試平臺進行大規模的用戶模擬外,結合企業測試業務,還可開展大量的測試應用。
企業測試工具集
通過將企業現有的測試工具整合到云測試平臺,可以解決工具資源不足、配置復雜等問題。若需使用企業未購買且不經常使用的測試工具,還可通過公共云進行一次性的付費測試,降低測試成本。
基于企業的測試知識庫
通過測試案例、業務知識、測試技術的積累,形成具有對象性的系統化的測試知識庫。此類服務更專注于企業的業務領域,可以快速提升測試人員的專業能力。
4、可能存在的問題
使用云測試平臺進行測試在很大程度上可以節約企業的測試成本、提高人員的測試效率,但是云測試固有的模式決定其在以下幾個方面存在著不足和缺陷,需要靠相應的技術手段來完善和規避。
安全問題(企業信息安全和網絡安全)
在進行功能測試或性能測試的過程中,軟件如何實現相關功能的邏輯信息和技術手段都會部分體現在測試腳本中,軟件的漏洞及性能狀況也將會體現在日志中,若沒有足夠的防護措施造成這些信息的泄漏則對企業產生不良影響。
同時云測試基于網絡,對網絡傳輸速率和穩定性有較高的要求,網絡中斷、網速過慢、病毒攻擊等問題都會限制云測試的應用。
適應范圍限制
與C/S結構軟件相比,B/S應用的軟件更加適用于云測試應用。C/S結構軟件仍需在云測試平臺中安裝被測試軟件,實現手段上較為復雜。
對于因保密等原因限制網絡訪問的軟件,也不適應于云測試,需要搭建專有的測試環境進行軟件測試。