[英]How can I analyze a junit test suite?
我們有許多單元測試與roboletric一起運行。
我希望收集關於元數據的指標,例如運行最長的測試,讓線程進入睡眠狀態的測試,基本上可以用來改善測試運行時間的任何東西。
您關注的是縮短測試執行時間。 你可以用各種方式做到這一點。
首先,您必須做出一些決定,哪些測試用例是強制性的,哪些測試用例需要按月運行等。
定義強制測試用例后,您可以使用測試用例分組創建套件。 如果並行運行組,則會減少大量時間。 但是你的分組准備工作需要很棘手,因此每個小組都可以采取類似的時間。 那將是最好的方式。
你可以使用並行進程和線程池來運行你的測試用例多少線程(比如20個線程,用於5000 tcs)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.1</version>
<configuration>
<parallel>classes</parallel>
<threadCount>20</threadCount>
</configuration>
</plugin>
</plugins>
</build>
如果我們在這里計算..假設,每個測試用例需要3秒才能執行。
對於5000 * 3 = 15000sec / 3600 = 4.166小時。
現在,使用並行處理,它將需要(5000/20)* 3 = 750sec / 3600 = 0.21hr或僅12.5分鍾。
資源鏈接: 在Maven構建中並行運行junit測試?
對於UI測試,您可以運行多瀏覽器,以便並行執行更多測試用例。
您可以使用多個節點,以便一次可以運行多個節點並減少時間。
在某些情況下,您可能會更加棘手,因為您不會在每個測試用例中登錄。 將有一個起點。 每個測試用例都將結束,並將返回該起點。 通過這種方式,我們還可以減少時間。 但它違反了FIRST
為了分析,報告和顯示代碼覆蓋率,執行時間的狀態,使用了各種類型的工具。 JaCoCo是其中最受歡迎的。 還有一些工具,如Cobertura,Arquillian等。
這里給出了使用JUnit,JaCoCo和Maven進行代碼覆蓋的完整示例 : https : //softwarecave.org/2014/02/01/using-junit-jacoco-and-maven-for-code-coverage/
完整代碼在這里給出: https : //github.com/robertp1984/softwarecave/tree/master/jacoco
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.