

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在批量构建中执行并行测试
<a name="parallel-test"></a>

您可以使用 Amazon CodeBuild 在批量生成中执行 parallel 测试。并行测试执行是一种测试方法，其中多个测试用例在不同的环境、计算机或浏览器上同时运行，而不是按顺序执行。这种方法可以显著缩短总体测试执行时间并提高测试效率。在中 CodeBuild，您可以将测试拆分到多个环境中并行运行。

并行测试执行的主要优势包括：

1. **缩短执行时间**：按顺序需要数小时的测试可以在几分钟内完成。

1. **提高资源利用率**：高效地利用可用的计算资源。

1. **更早的反馈**：更快地完成测试意味着可以更快地向开发人员提供反馈。

1. **经济实惠**：从长远来看，可以节省时间和计算成本。

在实施并行测试执行时，通常会考虑两种主要方法：独立环境和多线程。虽然这两种方法都旨在实现并发测试执行，但它们在实施和有效性方面存在显著差异。独立环境会创建隔离的实例，其中每个测试套件独立运行，而多线程使用不同的线程在同一个进程空间内同时执行多个测试。

与多线程相比，独立环境的主要优势包括：

1. **隔离**：每个测试都在完全隔离的环境中运行，以防止测试之间的干扰。

1. **资源冲突**：不存在多线程中经常发生的共享资源竞争。

1. **稳定性**：不太容易出现争用条件和同步问题。

1. **更易于调试**：当测试失败时，由于每个环境都是独立的，因此更容易确定原因。

1. **状态管理**：轻松管理困扰多线程测试的共享状态问题。

1. **更好的可扩展性**：可以轻松地添加更多环境，而不会增加复杂性。

**Topics**
+ [Support in Amazon CodeBuild](#parallel-test-support)
+ [在批量构建中启用并行测试执行](parallel-test-enable.md)
+ [使用 `codebuild-tests-run` CLI 命令](parallel-test-tests-run.md)
+ [使用 `codebuild-glob-search` CLI 命令](parallel-test-glob-search.md)
+ [关于测试拆分](parallel-test-splitting.md)
+ [自动合并各个构建报告](parallel-test-auto-merge.md)
+ [各种测试框架的并行测试执行示例](sample-parallel-test.md)

## Support in Amazon CodeBuild
<a name="parallel-test-support"></a>

Amazon CodeBuild 通过其批处理构建功能为并行测试执行提供强大的支持，该功能专为利用单独的环境执行而设计。这种实施与隔离测试环境的优点完美吻合。

**使用测试分配进行批量构建**  
CodeBuild的批量生成功能允许创建多个同时运行的构建环境。每个环境都作为一个完全独立的单元运行，有自己的计算资源、运行时环境和依赖项。通过批量构建配置，您可以指定它们需要多少个并行环境，以及如何在这些环境间分配测试。

**测试分片 CLI**  
CodeBuild 通过其 CLI 工具包括内置的测试分发机制`codebuild-tests-run`，该机制可自动将测试划分到不同的环境中。

**报告聚合**  
的实现的主要优势之一 CodeBuild是它能够无缝处理测试结果聚合。当测试在不同的环境中执行时， CodeBuild 会自动收集来自每个环境的测试报告，并将其合并成批构建级别的统一测试报告。这种整合提供了测试结果的全面视图，同时保持了并行执行的效率优势。

下图解释了 Amazon CodeBuild中并行测试执行的完整概念。

![\[并行测试执行的概念图。\]](http://docs.amazonaws.cn/codebuild/latest/userguide/images/parallel-test.png)
