您关心的是减少测试执行时间。您可以通过多种方式做到这一点。
首先,您必须决定哪些测试用例是强制性的,哪些测试用例需要每月运行等。
定义强制测试用例后,您可以使用对测试用例的分组来创建套件。如果您并行运行这些组,它将减少大量时间。但是您的分组准备需要很棘手,以便每个组都可以花费类似的时间。这将是最好的方法。
对于 JUnit,
您可以使用并行进程和线程池来确定运行测试用例的线程数量(例如 5000 tcs 的 20 个线程)
<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 = 15000 秒/3600 = 4.166 小时。
现在,使用并行处理将需要 (5000/20)*3 = 750sec/3600
= 0.21 小时或仅 12.5 分钟。
资源链接: Running junit tests in parallel in a Maven build?
适用于 TestNG、Appium、Jenkins 等
对于 UI 测试,您可以运行多浏览器,以便它们可以并行执行更多测试用例。
您可以使用多个节点,以便一次运行多个节点并减少时间。
在某些情况下,您可能会更加棘手,您不会在每个测试用例中都登录。会有一个起点。每个测试用例都将结束并返回该起点。通过这种方式,我们还可以减少时间。但这违反了 F.I.R.S.T.
用于分析、报告和显示代码覆盖率状态,
执行时间,使用了各种类型的工具。 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