

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在批次建置中執行平行測試
<a name="parallel-test"></a>

您可以使用 AWS CodeBuild 在批次建置中執行平行測試。平行測試執行是一種測試方法，其中多個測試案例會同時跨不同的環境、機器或瀏覽器執行，而不是依序執行。這種方法可以大幅縮短整體測試執行時間，並改善測試效率。在 CodeBuild 中，您可以將測試分割到多個環境，並同時執行。

平行測試執行的主要優點包括：

1. **縮短執行時間** - 循序需要數小時的測試可以在幾分鐘內完成。

1. **更好的資源使用率** - 有效率地使用可用的運算資源。

1. **早期意見回饋** - 更快完成測試意味著對開發人員提供更快的意見回饋。

1. **經濟實惠** - 長期下來可節省時間和運算成本。

實作平行測試執行時，通常會考慮兩種主要方法：獨立環境和多執行緒。雖然這兩種方法都旨在實現並行測試執行，但它們的實作和有效性有很大的不同。不同的環境會建立隔離的執行個體，其中每個測試套件都會獨立執行，而多執行緒會使用不同的執行緒在相同的程序空間內同時執行多個測試。

相較於多執行緒，不同環境的主要優點包括：

1. **隔離** - 每個測試都會在完全隔離的環境中執行，以防止測試之間的干擾。

1. **資源衝突** - 不競爭多執行緒中經常發生的共用資源。

1. **穩定性** - 較不容易發生競爭條件和同步問題。

1. **更輕鬆地偵錯** - 當測試失敗時，更容易識別原因，因為每個環境都是獨立的。

1. **狀態管理** - 輕鬆管理困擾多執行緒測試的共用狀態問題。

1. **更好的可擴展性** - 可以輕鬆新增更多環境，而無需複雜性。

**Topics**
+ [中的支援 AWS 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)

## 中的支援 AWS CodeBuild
<a name="parallel-test-support"></a>

AWS CodeBuild 透過其批次建置功能提供對平行測試執行的強大支援，專為利用個別環境執行而設計。此實作完美符合隔離測試環境的優點。

**具有測試分佈的批次建置**  
CodeBuild 的批次建置功能可建立同時執行的多個建置環境。每個環境都以完全隔離的單位運作，具有自己的運算資源、執行期環境和相依性。透過批次建置組態，您可以指定他們需要多少平行環境，以及如何將測試分散到各個環境。

**測試碎片 CLI**  
CodeBuild 透過其 CLI 工具 包含內建測試分佈機制`codebuild-tests-run`，其會自動將測試劃分為不同的環境。

**報告彙總**  
CodeBuild 實作的主要優勢之一是能夠順暢地處理測試結果彙總。當測試在不同的環境中執行時，CodeBuild 會自動收集每個環境的測試報告，並將其合併為批次建置層級的統一測試報告。此整合提供測試結果的完整檢視，同時維持平行執行的效率優勢。

下圖說明 中平行測試執行的完整概念 AWS CodeBuild。

![\[平行測試執行的概念圖。\]](http://docs.aws.amazon.com/zh_tw/codebuild/latest/userguide/images/parallel-test.png)
