由于資源的限制,我們的本地環境給QA測試增加了難度。那么像AWS這樣的公有云廠商 如何確保更加高效地測試應用程序呢?
在AWS中構建和測試應用有幾個好處。企業可以快速、低成本地使用資源;適當的應用程序測試流程不僅可以檢測漏洞,還能確保新應用程序可靠,且已經準備好用于產生。但是,因為沒有單一方法可以進行質保測試,所以在應用程序測試流程中使用AWS時還存在幾點需要考慮。
軟件測試中,基礎設施是一個主要的挑戰。現代化應用程序更強大,更具擴展性,但少數企業將會投資于所需上,來運行所需的服務器、網絡帶寬和存儲資源,從而在負載之下全面測試應用程序。內部測試讓人望而卻步,導致IT團隊縮短或省略一些高端負載測試。
這就是遷移應用測試到如AWS這樣的公有云變得越來越流行的原因了。開發人員可以租用上千個Amazon EC2實例,創建巨大的 Amazon Elastic Block Store (EBS)和S3存儲環境。一個測試環境可能只運行幾個小時或幾天;當測試周期完成后,執行測試、收集結果,然后暫停或關閉它。
無法再造問題可能會限制應用程序測試流程。如果開發人員不能再造問題,他就不能修復這一問題。AWS Management Console的BundleInstance功能,允許測試人員按需創建Amazon Machine Instances (AMI)。一旦AMI被綁定、上載和登錄,開發人員就能夠訪問AMI,查看參數、數據和其它導致漏洞的因素。
AWS API和命令行接口工具支持測試自動化。這些工具允許開發人員自動化創新和配置測試環境、連接數據庫、運行腳本,甚至使用持續集成方法,在所有成功的部件上自動化運行測試套件。當應用程序測試流程需要數據庫時,管理員可以使用已經上傳的測試數據集合的Amazon Relational Database Service實例。開發人員通常會復制同一個數據庫來確保每一次測試周期使用了相同的數據。
也許,在AWS的軟件測試中最值得一提的是,計算與存儲之間的緊密關系。測試通常需要EBS實例,在運行時時,存儲EC2實例產生的所有改變。開發人員必須使用EBS文件系統,并配置測試設置來連接正確的EBS和EC2實例,并在測試流程中保持EC2的最新狀態。沒有了這一實時存儲,一旦實例關閉,任何在測試中由EC2產生的運行時改變都會丟失。