自動化案例很多,執行時間很長,該怎麼最佳化?
先說一下背景,
目前做的專案,現有自動化案例數約 2w 條。
然後每天凌晨會執行自動化構建,跑這個全量自動化案例,到最後測試報告出來,中間大概需要 10 個小時,也就是平均一個案例執行時間約 2s 左右。
有的時候由於環境等各類問題,當天的日構建會執行失敗。如果遇到需要發版,想要快速得到一個自動化結果就比較困難
對於這個問題,目前想到的幾種方法
- 對自動化案例進行全面的梳理調整,最佳化耗時長的案例。
- 準備多套測試環境,把任務進行拆分到多套環境執行
- 單個環境,並行執行。
對於這幾個方法的分析和想法:
第一個方法的話,遲早要做,需要大約團隊的人投入約一週的時間來進行分析和調整,可能可以提升大約 30%。不過目前暫時沒有這個時間和人力投入。
第二個方法,相對來說比較簡單粗暴。但是案例中涉及到的系統較多,如果進行拆分執行,可能至少需要兩套完整的測試環境。目前也不太有這個條件。
我個人最傾向於第三個方法,只需要單個環境就能做。但是並行執行,目前看最難得點就是在並行上。舉個例子, A 案例中前置設定系統引數 B=0,而 B 案例中,又設定了系統引數 B=2,那這個對於測試結果來說是有影響的。 如果需要完整的分析測試案例之間的相互影響面來說,這個的工作量可能會比第一個方法又要更加耗時,並且工作難度也更加大了。
之前也考慮過一種方法,透過工具,執行案例後,分析每條案例涉及的資料表,然後將案例和這個涉及表進行繫結,以此來判斷兩條案例之間的相互影響關係。這個方法也存在一個問題,當案例發生變更時,他的影響範圍可能也發生了改變。即之前涉及的表為 A、B、C,現在變成了 A、B、D,似乎又需要再分析一遍這個案例的關聯關係。
以上是我的一些想法,由於接觸的公司較少,網上也沒有找到一些現有的例子,所以特此請教各位大佬,對於日益增多的自動化案例,如何做到高效快速執行?
望各位不吝賜教
相關文章
- win10 為什麼時間自動同步無效該怎麼辦Win10
- 為什麼說執行緒太多,cpu切換執行緒會浪費很多時間?執行緒
- MySQL主從延時這麼長,要怎麼最佳化?MySql
- 不知道該怎麼設定crontab的執行時間?那麼請看這裡
- Linux啟動時間最佳化技巧Linux
- 自動化測試應該如何實現多執行緒?執行緒
- Golang時間函式及測試函式執行時間案例Golang函式
- Linux 檢視程式啟動時間、執行時間Linux
- 什麼時候需要自動化什麼時候用自動化?
- SQL 執行 - 執行器最佳化SQL
- win10自動鎖屏時間怎麼設定Win10
- win10怎麼自動開啟自動設定時間_win10開啟自動設定時間的步驟Win10
- web自動化測試工具那麼多,教你到底該怎麼選Web
- python自帶pip怎麼執行Python
- 時間戳效能最佳化時間戳
- win10 點選自動設定時間時間快1小時怎麼解決Win10
- 做自動化測試時開啟多執行緒,怎麼解決日誌混亂的問題??執行緒
- SQL最佳化案例-從執行計劃定位SQL問題(三)SQL
- win10 禁止任務自動執行方法 win10自動執行程式怎麼禁止Win10行程
- mysql自增長id用完了該怎麼辦MCBZMySql
- gops 是怎麼和 Go 的執行時進行互動的?Go
- Vivo Y93自動鎖屏時間怎麼設定?Vivo Y93自動鎖屏時間設定教程
- Timemator自動化時間跟蹤軟體
- azkaban執行任務長時間無法結束
- win10開機慢黑屏一會怎麼回事_win10啟動慢黑屏很長時間如何解決Win10
- 第一週:時間複雜度該怎麼看?時間複雜度
- win10時間不準怎樣自動校準時間_win10自動校準時間的步驟Win10
- 說下你平時是怎麼自學的?怎麼安排時間的?
- 執行計劃沒變,執行時快時慢是怎麼回事?
- DevOps 自動化實踐 — K8s 自動化執行 Database MigrationdevK8SDatabase
- 伺服器長時間執行如何做好維護伺服器
- Timemator for Mac(自動化時間跟蹤軟體)Mac
- c#動態執行字串指令碼(最佳化版)C#字串指令碼
- Gradle Resolve dependecies 很長時間的解決辦法Gradle
- docker-compose build workspace PHP-fpm 時間很長DockerUIPHP
- Java 執行緒池最佳化Java執行緒
- Calcite執行計劃最佳化
- DM 傳統行業SQL最佳化案例行業SQL