“云測試”是什么?
顧名思義,“云測試”由測試和云兩者組成,首先它應該是一種軟件測試,有它自己的測試手段、測試方法、測試過程。其次,它應該工作于“云端”,通過云來實現其方法、過程。由以上兩點,可知,“云測試”就是通過“云”而實施的一種軟件測試,由于與云的結合,所以它在測試方法、手段、過程等方面,具有一些自己獨有的特征。
隨著云計算時代的到來,人們應用信息方式將發生改變,同樣也會改變提供軟件服務企業的交付模式、研發模式和軟件測試方式?;谠朴嬎慵夹g的軟件測試方式即是云測試。在全球經濟危機的影響下迫于成本壓力,市場中有越來越多的企業開始考慮云模式所能帶來的價值。
一、云計算(Cloud Computing)簡介
狹義云計算是指通過網絡以按需、易擴展的方式獲得所需IT基礎設施的交付和使用模式。廣義云計算是指服務的交付和使用模式,通過網絡以按需、易擴展的方式獲得所需的服務。這種服務可以是IT基礎設施、軟件、互聯網應用相關的,也可以是任意其他的服務。
云計算作為一個新名詞,它既不是一項新技術,也不是一個新概念。云的含義絕不僅僅是針對計算,而是IT系統建設的一個總體方針和大勢所趨。云代表的是一個嶄新的IT應用時代。
2002年,IBM首次提出On Demand隨需應變,隨后HP提出了Utility Computing效用計算,接著H3C提出了IToIP。甚至在更早的上個世紀90年代中,全球各地就出現過一批以ASP(應用服務商)、SSP(存儲服務商)為運營模式的商業探索者,他們都是云計算的先驅和實踐者。上述概念或商業構想與今天的云計算并沒有本質的差異,都是對同一個IT發展愿景進行的不同角度表述。 這個愿景就是希望IT資源能夠有一天像今天使用的電力、自來水一樣“即插即用”,不需要關心“電”從何處來,"電"是怎樣產生的,運輸設備是什么。這些IT資源包括網絡應用、軟件、硬件設施等。
例如一家企業,他需要信息化辦公,以往的模式是:企業花費大量資金采購硬件(機房、計算機)、布置復雜的網絡、購買操作系統和辦公軟件、管理軟件等、配置專業的IT管理人員等,有的設備或軟件利用率還很低,實現信息化過程耗時、耗力、耗資金、更耗費社會資源,且日常使用還需要大量投入:例如設備保管、系統維護,軟件升級等,而在云時代中企業只需要簡單的培訓,操作者通過簡單的個人終端(顯示器,手機等)接入云服務就可以實現系統化、自動化辦公和管理需要,享受著更加質優、價廉、節能、環保的云服務。企業無須關心數據存放在哪里、怎么實現,不再采購大量的硬件和軟件,不再需要布置復雜網絡,這些事情交給提供"云服務"的公司去完成。企業可以視同它們為躲在"云層"后面我們看不見的跑來跑去的"雨霧"一樣,只關心落下的"雨滴"。也可以視同它們是在幕后的從沒見過那些導演、化妝師等,我們只關心臺上正在演出的這一幕和這熟悉的演員。
二、云測試(Cloud Testing)簡介
云測試是基于云計算的一種新型測試方案。服務商提供多種平臺,多種瀏覽器的平臺,一般的用戶在本地用Selenium把自動化測試腳本編寫好,然后上傳到他們網站,然后就可以在他們的平臺上運行Selenium腳本了。
三、哪些測試項目可以做云測試
通過云測試的定義我們看出:凡是測試中需要使用的軟件工具和環境都可進行云測試,當前適合做云測試的項目或內容大概有:
硬件環境:測試軟件在不同應用場景下對硬件環境的要求;
軟件環境:操作系統、數據庫、瀏覽器等,測試軟件對不同運行平臺的適應性;
適應性軟件:防火墻及防病毒軟件等,測試在安裝不同防火墻及防病毒軟件時,軟件運行可靠性;
隨著云計算技術的發展,為軟件測試服務的各種應用亦將得到發展。適合做云測試的項目也將不斷增多。
四、云測試的優勢
1、立即可用
云測試提供一整套測試環境,測試人員利用虛擬桌面等手段登錄到該測試環境,就可以立即展開測試。這將軟硬件安裝、環境配置、環境維護的代價轉移給云測試提供者(公共云的經營者或私有云的維護團隊)。以現在的虛擬化技術,在測試人員指定硬件配置、軟件棧(操作系統、中間件、工具軟件)、網絡拓撲后,創建一套新的測試環境只需幾個小時。如果測試人員可以接受已創建好的標準測試環境,那么他可以立即登錄。
2、 裝配完備
云測試不但可以提供完整的測試環境,還可以提供許多附加服務。對于測試機,它可以提供還原點,以便測試人員將虛擬機重置到指定狀態。對于測試執行,它可以監控被測試程序的一舉一動,例如注冊表訪問、硬盤文件讀寫、網絡訪問、系統日志寫入、系統資源占用率、內存映像序列化、屏幕錄像等。將這些信息與測試用例一起展現出來,可以幫助測試人員發現問題,定位錯誤。對于大規模的測試,云測試可以提供多臺測試客戶機,他們從主控機上下載測試用例,執行并匯報測試結果,主控機將結果匯總后報告給測試人員。實際上,這些功能已經被各種工具所實現,云測試平臺的任務是整合它們,提供統一、完備的功能。這樣,測試人員就可以將精力最大限度地投入到專屬的測試領域中,而不是與各種工具搏斗。
3、 專家服務
最高級的測試服務是提供專業知識的服務。這些知識可以通過測試用例、測試數據、自動測試服務等形式提供。例如,許多應用需要讀取文件,云測試可以提供針對文件讀取的模糊測試。測試人員將被測試的應用程序提交給云,云將其部署到多臺測試機上。在每一臺測試上,應用程序要讀取海量的文件,每一個文件都是特意構造的攻擊文件。一旦棧溢出、堆溢出等問題被發現,立即保存應用程序的內存映像。一段時間后,測試人員將獲得云測試返回的測試結果:一份詳細的分析報告和一大堆內存映像文件。
4、節約成本
每個企業都在追求成本最低和利潤最大化。軟件測試作為研發生產過程的一部分也有降低成本的要求,即使用最少的機器購買最少的測試軟件來完成軟件測試工作。利用云測試可實現巨大節省,不需要購買或準備很多的個人電腦,購買和安裝各類測試用軟件,也不再需要部署復雜的網絡。只需要列出測試目的、環境的要求、虛擬機臺數、何時間斷租用即可,實現按需支付。例如購買一套自動化測試軟件至少花8000元錢,測試中只需要使用2個月,但如果按800元/月租用該軟件云測試平臺,只需要支付1600元。同時隨著企業軟件版本和技術的發展,依賴的測試軟件或環境亦需要升級換代,又會產生升級和維護費用。而在云測試環境中這些因素都無須企業考慮,交由提供云測試服務的供應商完成即可。
原文轉自:http://www.anti-gravitydesign.com