簡體   English   中英

我如何分析junit測試套件?

[英]How can I analyze a junit test suite?

我們有許多單元測試與roboletric一起運行。

我希望收集關於元數據的指標,例如運行最長的測試,讓線程進入睡眠狀態的測試,基本上可以用來改善測試運行時間的任何東西。

您關注的是縮短測試執行時間。 你可以用各種方式做到這一點。

首先,您必須做出一些決定,哪些測試用例是強制性的,哪些測試用例需要按月運行等。

定義強制測試用例后,您可以使用測試用例分組創建套件。 如果並行運行組,則會減少大量時間。 但是你的分組准備工作需要很棘手,因此每個小組都可以采取類似的時間。 那將是最好的方式。

對於JUnit,

你可以使用並行進程和線程池來運行你的測試用例多少線程(比如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測試?

適用於TestNG,Appium,Jenkins等

對於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM