単体テスト
すべてのテスト戦略の基盤となる、AEM アプリケーションの単体テストを実施することをお勧めします。このテストは、高速かつ頻繁な実行と早期の迅速なフィードバックの提供を目的としており、開発者ワークフロー、独自の CI/CD、AEM Cloud Service デプロイメントパイプラインに緊密に統合されています。
また、JUnit を使用して実装され、Maven で実行されます。AEM の単体テストの例と導入方法については、AEM プロジェクトアーキタイプのコアモジュールを参照してください。
コード品質
この品質ゲートは標準で設定され、AEM アプリケーションコードで静的コード分析を実行します。
詳しくは、コード品質テストおよびカスタムコード品質ルールを参照してください。
製品テスト
製品機能テストは、オーサリングタスクやレプリケーションタスクなど、AEM のコア機能に対する安定した HTTP 統合テスト(IT)です。アドビでは、これらを標準で提供、保守しています。これは、カスタムアプリケーションコードが AEM 製品のコア機能を破壊した場合に、カスタムアプリケーションコードに対する変更がデプロイされるのを防ぐためのものです。
実装には JUnit を使用し、Maven で実行され、公式の AEM テストクライアントに依存します。製品テストスイートは
オープンソースプロジェクトとして管理され、ベストプラクティスを採用しているので、テスト実装の出発点として適しています。
カスタム機能テスト
製品テストと同様に、顧客の機能テストは HTTP 統合テスト(IT)です。これは、JUnit を使用して実装、Maven を使用して実行、および公式の AEM テストクライアント上に構築されます。
効率的なパイプラインの実行を維持するために、アドビは機能テストのランタイムを約 15 分以下にすることを目標にして、主な機能と主要なユーザーインタラクションフローに重点を置くことを推奨しています。今回を上回る完全な機能テストスイートは、開発プロセス中に一般的な顧客検証パイプラインの一部として実行する必要があります。
例については、オープンソースの製品テストまたは AEM プロジェクトアーキタイプの it.tests モジュールを参照してください。
詳しくは、Java 機能テストを参照してください。
カスタム UI テスト
顧客固有の開発に対するリスク管理を最大限に高めるために、アドビでは重要な UI テストを AEM as a Cloud Service に取り込むことをお勧めします。それらを限定的に保持し、顧客体験への影響を最大化することに重点を置きます。
テストは、可能な限り揮発性に設計された Docker イメージにパッケージ化されます(Cypress、Playwright、Selenium、Java およびJavaScriptをサポート)。 カスタム機能テストと同様に、同じ特性と目的に従います。
パイプラインの実行を効率化するために、アドビでは主な機能とユーザーのインタラクションフローに注力することをお勧めします。この品質ゲートを上回る完全な UI テストスイートは、一般的な顧客検証パイプラインの一部として実行する必要があります。それらを顧客の開発プロセスに組み込みます。
例として、オープンソースのサンプルテストまたは AEMプロジェクトアーキタイプの ui.tests モジュールを参照してください。
詳しくは、カスタム UI テストを参照してください。