現在,基于云的應用逐漸普遍,無論是私有云之上,還是公有云之上,或者是混合云。基于云的應用測試也面臨其獨特的挑戰。在為云端應用設計和執行合適的測試計劃中,理解這些應用的結構式怎樣的經歷了漫長的過程。這些測試是對通常任何軟件應用都需要的單元測試、系統測試以及性能測試的補充。下面我們來介紹這些基于云的測試是什么以及如何處理:
瀏覽器測試:如果使用瘦客戶端軟件,瀏覽器并不是基于云的軟件應用所必需的。然而,大多數案例中,會使用各種流行的瀏覽器,而且使用情況幾乎均等。通過全球的應用情況,至少列出前四名或者前五名瀏覽器是必要的,確保應用測試計劃包括用這些瀏覽器測試應用。瀏覽器終端腳本通常導致瀏覽器兼容性為題,如果你期望使用不同的瀏覽器,基于云的應用設計就需要最小化腳本或者沒有腳本。
移動平臺:智能手機和平板電腦迅速加入筆記本電腦和臺式機的行列,這些都是基于云的應用要進行訪問的地方。很多企業很喜歡基于云的軟件應用的移動Web版本用戶界面。然而,移動本地應用程序也可以用來代替訪問使用移動網絡版本的軟件方案。本地應用接口測試計劃需要在基于瀏覽器的測試之外列出來。
用戶界面測試:基于云的軟件應用中,用戶界面測試應該和非基于云的應用測試一樣。云用法并沒有帶來附加的挑戰,但是用戶界面測試要成為測試計劃必要的一部分,尤其是在多瀏覽器中測試的時候。
性能測試:基于云的軟件應用實際應用中,顯著的最佳性能報告要比平均性能報告多。例如,購物網站全年平均性能體驗需求,但是圣誕節購物季可能就需要統一應用的最佳性能。一個更為全面和可靠的測試,需要增加模擬最佳性能測試。
服務配置/重配置測試:私有云、公有云或者混合云都應該在需求增加的是配置服務或者不需要的時候重新配置服務。這種配置和重配置要在基于云的測試計劃中模擬。
分布式云測試:基于云的軟件應用可以在不同地理地點使用。這種地理分布以及各種ISP提供的服務需要進行實際測試模擬。商業分布測試模擬服務指全球不同ISP上運行的服務器可以模擬用戶來自這些地點的輸入。云測試計劃應該包含這種服務的使用,來增加測試計劃的質量。
多租戶測試:基于云的軟件應用具有多租戶性,旨在不同層級上的客戶端分離,并結合不同的Web服務器、分離的數據庫服務器或者同一服務器上數據庫層的數據分離。測試計劃可能需要為這些內容設計賬戶并設計合適的測試。
功能降低測試:在同一時間,過多用戶登錄并使用應用的時候,基于云的軟件應用服務器應該完全降低性能,而不是超負荷。通常可能設計云應用在超過具體的數字的時候限制登錄用戶數,所以合理的性能就能保證所有用戶進入。功能降低測試是云測試計劃中重要的組件。
連接/斷開操作測試:基于云的軟件應用只為連接模式設計,或者互聯網連接到服務器可用的時候。客戶端不會存儲任何東西,服務器端應用存儲所有數據。斷開模式允許基于云的軟件應用可以在連接或者斷開模式中工作。在斷開模式中工作時,數據本地化存儲,互聯網到服務器連接可用時,本地存儲數據同步到服務器,反之亦然。如果這個功能只為基于云的應用設計,測試計劃就需要有所體現。
云可移植性測試:私有云和公有云混合的時候,基于云的應用的可移植性不能看做是理所當然的事情。測試計劃應該包括高層次功能,確保云可移植性。有時甚至是在私有云中,如果系統安裝的Web服務器或者數據庫服務器不完全一樣,就可能會遇到奇異的應用行為。如果私有云服務器上的例子完全在你的控制之中,公有云就需要徹底測試,只為確認一下。
總結
與非基于云的軟件應用相比,基于云的軟件應用有一些附加的特性。這些特性也為云應用帶來的挑戰,但是用一種更為系統的、全面的方法來進行云測試計劃,這些挑戰都可以順利解決。