公司轉向云部署模式或使用云測試服務來測試一個app時有不少好處。本文將介紹高水平的云概念并討論云測試中質量工程師的作用。
我們來看看云測試時需要考慮哪些吧。
什么是云計算?
根據一份Gartner報告,云計算是“一套規則,技術和用于提供IT功能(軟件,平臺和基礎設施)并將之作為一項按需擴展彈性服務的商業模式”
云計算的特征
它使用動態的,共享的和虛擬的基礎設施
它是彈性可擴展的(根據負載增加和減少)
它根據消費定價
它可以用在各種常用網絡上
云部署模式
基于部署模式,有公共云,私有云,混合云和社區云。
為云用戶提供的云服務模式
高水平的有三種模式:SaaS, PaaS, and IaaS。但是這些已經被最近開發的更多服務模式擴充了。主要云服務模式有:
--軟件即服務(SaaS)– 例: QuickBooks Online accounting software on the cloud, Yahoo mail, Gmail
--平臺即服務(PaaS)– 例: Google AppEngine, Amazon Beanstalk, Saleforce’s Heroku, Cloud Foundry (開源PaaS)
--基礎設施即服務(IaaS)– 例: Amazon Elastic Compute Cloud service(s), S3, Windows Azure Storage
-- 數據庫即服務(DBaaS)– 例: Oracle Cloud database service, Amazon Relational Database Service – MySQL, Microsoft SQL Azure, Amazon DynamoDB, MongoDB database as a service
--分布式計算即服務(big data)– 例: Hortonworks, Cloudera, MapR, AWS
--測試即服務(TaaS)– 例: Soasta, HP, Keynote, Perfectomobile, Gomez
--內存內緩存服務– 例: Amazon Elasticache
--后端即服務– 例: Parse, Stackmob, Cocoafish
--集成平臺即服務– 例: Mule Software
云計算和云測試的好處有?
A)云計算
--業務敏捷性和快速上市時間模式云計算提供即消應用云的資源如IT基礎設施,軟件平臺和商業應用.
--優化IT成本——云可以減少你的部分IT運營成本。
--現收現付模式——云計算的一個重要特征就是它的按需功能。計算,存儲功能或app資源只在需要時用,且你只需支付你使用的。
--資產高回報——云計算通過卸載數據中心幫助減少IT成本,IT運營人員和相關成本。
--創新推動者——云提供一種方法來創建更多業務和IT組織內部的創新。
--業務試驗推動者——云為業務試驗和減少風險提供一個平臺
B)云測試
讓我們將測試分為高水平的兩類:
1.測試云中的app。
2.使用云測試服務測試app。
測試云app
使用之前提到的一種部署模式將App部署在云中。測試員測試功能、集成、端到端、負載、壓力、和安全等測試的各個方面。
例子:小業務要用的QuickBooks Online (SaaS) cloud accounting software, Gmail, and Yahoo Mail。
Web app:app用戶界面是通過瀏覽器和web服務(SOAP, RESTful)并使用客戶端工具(如Chrome Postman, SOAPUI)或使用基于java的單元測試框架來測試的。
移動app:app下到智能機上,并用真實設備和/或模擬器測試。
例如:iPhone 的QuickBooks Online,Android 的QuickBooks Online,和iPhone/Android 的Yahoo Mail.
使用云測試服務
他 們交互式地自動地為測試web和移動app提供基于云的測試平臺。云測試服務供應商需要維護測試基礎設施,提供持續集成工具和自動化工具。這種服務模式也 稱為測試即服務(TaaS).有時,term這個術語也可以指外包測試模型。但是本文的重點是云測試服務模式而不是外包模式。
例如:Soasta, HP, Keynote, Perfectomobile, Gomez
云測試的優點
一些優點和之前提到的云計算的優點一樣。以下是一些不一樣的優點:
-- 復雜性和資源:app在增加在改變,先在還多維。例如,一個webapp需在不同的操作系統上用不同的瀏覽器測試。如果是一個移動app,那么就需要在不 同的移動設備,移動網絡并按照如3G, 4G, Wi-Fi和Wi-Max的標準來測試。創建很復雜的測試實例需要資金和資源。云為測試提供所需基礎設施和工具。
--成本效益:組織不需要投入時間,資源和資金來維護測試實例。我們只需要為在云中的使用付費。如果你在進行負載測試,你就不需要等測試實例準備好了。工具許可證和維護費用被取消了。
--更快的交付周期:因為測試員基于其要求的配置快速地得到測試實例,一個云測試服務可以被集成到我們的持續集成系統中,所以它積極影響了上市時間。這也支持使用多臺虛擬機器的測試平行執行。
--穩定的測試實例:如果沒有服務(儲存空間用完,資金用完,服務器宕機,等),測試工程師通常會記錄事件。因為云測試服務是SLA驅動的,多數時間測試實例在增長和運行。
--按需自動化服務:測試實例是從大范圍的虛擬環境以自助服務的方式來按需提供的。測試可以手動也可以自動進行。
--多地執行測試:對于負載測試,可以通過選擇實例,服務器和服務器位置來按需形成負載。
QA團隊的職責
1.云就緒
--你的app準備好要在云中測試嗎?如果沒有,建議QA團隊花時間考慮安全和防火墻等問題以便讓云就緒。
--確保測試,測試框架和工具準備好使用任何一個云測試服務供應商而非鎖定一個供應商/工具來進行測試。
2.云測試的策略和發展藍圖
如果你的組織計劃使用云部署模式,那你就需要確保測試的可測試性和各種類型包含在發展藍圖內。
--了解云供應商提供的云部署模式,模式和技術。
--想出一個云測試策略。這也應該覆蓋將被執行的測試,手動或自動化測試,以及測試執行的持續時間。
--列出你的app平臺/技術的組件和它的版本,比如app服務器,web服務器,函數庫,數據庫和操作系統。
--與你的團隊和主題專家重新評估策略。
3.列出相關服務/系統
比如,如果你的app被集成到內部/外部相關服務中,那么當你的app部署到云上或用云測試服務測試時確保相關的組件工作。
--如果你的app被部署到云中,確保云部署服務提供商和測試服務提供商能夠彼此交流一下。
--如果你的app被部署到你那兒,要確保你的云測試服務提供商可以接觸到app和集成組件。
4. 確定測試(手動和自動化的)
確定將在云測試環境中執行的手動和自動化測試。因為測試服務成本是基于使用,花時間計劃測試執行很有效。
圖1. 選擇云測試服務提供商的準則
5.為在云中測試移動/webapp選擇正確的供應商。
在選擇供應商前,徹底了解你公司的具體需求以及服務提供商提供了什么。使用他們的免費試用機會去了解。有效地花時間和金錢在此任務上很好。
6.安全:QA團隊應該帶上白帽子。
維 基百科上說術語“白帽子”在網絡俚語中指一個有道德的電腦黑客,或是一個電腦安全專家,精通滲透測試以及其他測試方法,確保組織信息系統的安全。了解資產 的安全責任,比如物理安全,網絡基礎設施,虛擬機器,傳輸中的數據,靜止數據,操作系統,憑證,策略和配置。一直要在你的手動/自動化云測試中使用非敏感 合成數據。云安全聯盟(CSA)是一個非盈利組織,它的使命是促進最佳實踐的使用以在云計算中提供安全保障。云安全聯盟是由行業從業者,企業,協會以及其 他關鍵利益相關者組成的大聯盟。根據CSA 2013報告,以下是前九大威脅:
a. 數據泄露
b.數據丟失
c.賬戶劫持
d.不安全的應用程序接口
e.拒接服務
f.惡意的內部員工
g.濫用云服務
h.不夠關心
i.共享技術問題
7.規定遵守
我 們應該要知道云供應商規定的用以維護安全并保護數據的限制。遵守責任基本大家都知道——云供應商提供基礎設施的保障,且你的公司負責在基礎設施之上的 app的遵守。我們需要了解如Sarbanes-Oxley, ISO 2001, ITIL, SAE 116, SAS Type I and II, HIPAA, PCI,等由云供應商基于你們公司具體要求而規定的標準。我們可以基于我們的業務需求要求審計員制作的報告和證明。政府組織有特殊的監管需求。比如,亞馬 遜網絡服務(AWS)GovCloud(美國)是用來解決美國政府機構,教育機構,其他用戶和合作伙伴的特定監管需求的。
8. 了解服務水平協議
了解云服務提供商的服務水平協議很重要。它指出了服務不滿足服務承諾時的正常運行時間,以及申請信貸請求的規定。
9.成本使用
確保云服務被正確使用,因為會按你的使用收費。同時,確保服務能被充分利用。大多數云供應商提供資源使用報告。驗證報告以確保你為你已經使用的服務付費。
10.了解云供應商的位置和可用性區域
云供應商的位置對于網絡延遲和性能測試很重要。比如,世界各地都有亞馬遜的彈性計算云(EC2)。這些地方包括域和可用區。每個域都是一個獨立的地理區域,都擁有多個獨立的可用區。
11.移動云計算的未來
除了成功的業務云如電子商務網站,還有更多云可以解決全球貧困,農業問題和健康問題。我們看到醫生使用社交媒體來和其他醫生聯系以獲得建議和第二意見。移動和云計算都在不斷發展,移動云計算同樣也如此。這樣就導致了更多該領域的標準。
移 動手機的使用增加了。IEEE將移動云列為2014的尖端技術趨勢之一。IEEE說到:“移動和云計算在融合,創造一個新平臺——它有可能提供無限的計算 資源。移動設備被其內存,處理能力及電池壽命所限制。但是結合云計算,數據進程和存儲可能會在移動設備外發生。IDC宣稱“第三平臺”能更好地同步數據, 提高可靠性和可擴展性,使集成以及隨時隨地使用商業應用程序和協作服務更容易,增加用戶體驗和對新服務的探索。
舉例:一個移動應用程序監控設備的位置。該移動設備不斷基于設備的移動將其位置信息發送給云上的數據庫。一個汽車傳感器即時將數據發送到云。分析數據,發送的結果可以提高燃料效率。
作為質量保證工程師,我們需要學會它并享受云測試帶來的好處。