雲測試自動化框架

環境部署,以及使用的問題, 有沒有想過直接在用雲創建一個自動化測試框架,動態的分配資源?
可以利用利用 OpenStack,Ubuntu,KVM等開源項目構造了雲計算軟件測試平臺。
1

雲計算軟件測試平臺是一個複雜的軟件、硬件和服務的綜合體,不同的雲測試平臺設計和實現的重點也不相同。
2

需求

  • 可移植性高
    -要支持多操作系統, 本地和雲都可以運行
  • 易於擴展和維護

老的測試環境

預先搭建好,缺少組件模塊化。操作不正確就沒有辦法工作,存在可伸縮性問題。需要進行並行測試或擴展環境本身時,很難擴展預配置的環境

動態分配的環境

由於所有內容都是從頭開始創建的,沒有必要清楚環境的操作。使用動態創建的環境,您可以隨時制定測試計劃,並立即獲得結果。容易將測試環境與要測試的模塊隔離開。雲解決方案使我們能夠簡化創建環境的整個過程,並減少啓動和運行這種環境所需的時間。運行並行測試也很容易,最後,動態創建的環境通常具有非常好的文檔,每個人都可以在其中檢查應如何啓動它以及如何工作。
缺點就是創建和維護這樣的系統非常昂貴,費時間。需要更多的計算機資源,

測試架構

要創建這個一個demo,需要從一個腳本或者一個服務開始。從統一測試方法的角度來看,既可以在本地也可以在CI系統中工作,因此,腳本越少越好,因爲管理起來更容易。

還有一個消息代理(例如RabbitMQ,Apache Kafka等),僅在測試中很少使用。它使我們可以對要測試的數據進行分組。例如,在進行初始冒煙測試以檢查系統中的進程是否已啓動並正在運行時,我們將在適當的路由鍵下獲取有關該進程的所有信息。

將負責生成數據,記錄和發送測試的系統元素分開,則人爲錯誤的可能性將大大降低。當缺少這種分離時,錯誤可能會導致整個容器以及測試失敗。如果存在這種分離,並且每個模塊都經過單獨測試,我們將收到包含有關已測試模塊信息的測試報告。如果這些模塊中的某些模塊不起作用,我們仍將有一份報告,顯示已通過的其他測試。我們只需要確定出了什麼問題並解決。如果缺少這種分隔,或者如果出現問題,則需要逐個檢查所有測試。顯然,這是非常耗時且昂貴的。

在測試過程的最後,我們需要將日誌和結果存儲在某個地方。它們的存儲位置應與系統不同。雲提供商是一個好地方,因爲如果出現問題,每個人都可以訪問。走雲路線還可以節省時間,尤其是在DevOps和QA團隊位於不同時區時。消息代理還可以用於控制應報告哪些數據。例如,它可以用於向數據供應商發送消息以開始報告CPU或RAM使用情況。

1

用於CI測試

從 GIT 存儲庫加載適當的配置,運行並運行整個過程,構建要測試的組件並執行測試。測試完成後,將生成併發送結果。我們可以使用自動通知解決方案,如 Slack 插件來說明測試是否成功。當然,最簡單的解決方案是拍攝一封電子郵件,但我不建議這樣做,因爲將有很多這樣的電子郵件,很難保持所有這些頂部。最好將測試結果存儲在雲存儲中,並配有適當的標記和參考編號,以便以後可以輕鬆跟蹤測試結果。我們的容器存儲在用於容器存儲的服務中,以便在執行新的測試過程時可以重複使用它們。

2

成本和效益

主要是雲計算資源,還有就是存儲log的雲存儲。
消息代理可以是獲得對測試過程的完全控制的巧妙方法。歸根結底,所有測試都應構成 CI/CD 管道的組成部分,並且應在軟件項目開始時開始。

拓展閱讀

http://www.ruanyifeng.com/blog/2017/07/iaas-paas-saas.html
https://github.com/openstf/stf
https://codilime.com/how-to-build-a-test-automation-framework-in-the-cloud/

http://cloud.it168.com/a2014/1013/1672/000001672914.shtml

http://manu44.magtech.com.cn/Jwk_infotech_wk3/EN/article/downloadArticleFile.do?attachType=PDF&id=3647

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章