著軟件開發周期加快,IT部門必須更迅速地測試基于云的應用。正確的工具和服務可以幫助加快這一步伐。
在云端部署軟件的步伐正在加快。開發人員不再需要花費數月的修復大量bug和功能增強,而是可以在一個星期甚至一天內就推出新的云應用。但這種快速的轉變需要在部署之前對應用程序進行快速的測試。谷歌計算引擎和微軟的Azure提供了一些工具,以確保新的云應用可以按照預期的那樣正常工作。
開發人員應該在一個可控的環境中盡可能復制生產環境來對云應用進行測試。對于本地應用的開發,要維護一個單獨的等同于生產環境的測試環境的成本通常令人望而卻步。但在云中,實施一個高度自動化管理的測試環境的邊際成本卻很低。
使用谷歌測試云應用
谷歌計算引擎以性能著稱, 但其不斷增長的編碼、測試和部署的服務列表可能會大大減少對軟件開發者的吸引力。這些服務和工具包括Google Deployment Manager、Cloud Trace、Cloud Monitoring和Cloud Security Scanner。
谷歌的Deployment Manager是一個模板驅動的服務,負責將資源部署到云中。使用該服務,云管理員可以定義一個擁有虛擬機、存儲、負載平衡器和其他資源的測試環境。
測試云應用程序提供了收集性能數據的機會,和進行單元測試。在生產環境中,谷歌的Cloud Monitoring服務產生警報并顯示到性能儀表板上。這也有利于對新的應用程序代碼進行壓力測試。對頻繁執行的代碼的任何小的修改可能會對總體性能產生顯著的影響。然而,這些影響并不總是很明顯,特別是對于分布式系統。通過性能測試,開發人員可以找出潛在的問題領域。
Google App Engine中的Cloud Traces服務負責收集遠程過程調用App Engine服務的性能數據。這有助于定位長時間運行以及低效的運營。Cloud Security Scanner,也是針對Google App Engine,用以識別已知的漏洞,如跨站點腳本以及HTTPS和HTTP混合的內容傳輸。
微軟的Azure測試云應用
微軟的Azure也提供了云應用程序的測試和部署工具。比如說,Visual Studio Online,是一個軟件開發平臺,用于管理應用程序代碼和跟蹤開發人員任務。Visual Studio通過持續集成,規劃和缺陷跟蹤等工具來支持敏捷開發模式。
微軟的Visual Studio Application Insights是一個新的預覽版服務,將來有可能成為一個關鍵的云測試和監控服務。它允許開發人員和云管理員監測運行在Azure或其他平臺上的 ASP.NET和Java應用。該服務還可以監控移動應用,如那些用于Android和iOS,以及Mac OS X和Windows應用。
微軟的Azure Automation服務減少了人工的、重復的任務。該服務使用Windows PowerShell腳本,簡化了與其他PowerShell應用程序的集成。使用DevOps的思想作為指導,外加一些圖形創作工具,Azure Automation在處理云資源時提供一個高層次的抽象化。同Google Deployment Manager一樣,Azure Automation也提供了一些工具可以幫助開發人員和云管理員在云中快速創建一致的測試環境。
除了微軟和谷歌的服務,開發人員還可以使用眾所周知的成熟的應用測試工具,如Jenkins。
當然,工具并不是云應用測試唯一需要的。明確定義的過程也是成功的關鍵。例如,開發人員應遵循標準的做法從代碼庫中提交和獲取代碼。測試管理員應該能夠從代碼庫獲取最新的代碼并根據需要對其進行測試。
開發人員應該經常進行測試,盡早發現bug和性能問題。自動化同時還降低了測試的成本。使用云應用監控工具來減少分析結果所需的成本和時間,特別是大容量壓力測試。
主流的云服務提供商時常發布新的服務。一些諸如代碼管理和監控的工具分別面向開發人員和運營支持。然而,這兩種類型的工具對于測試云應用都非常有用。隨著谷歌和微軟不斷推出額外的服務,考慮他們如何能幫助你的組織簡化測試操作,提高報告結果的內容和質量。