Harness(ハーネス)は、既存のPlaywrightスイートを、playwright.config、specファイル、またはpackage.jsonスクリプトを変更することなく、同社のAIテスト自動化プラットフォーム上で実行できるようになったと発表し、プラットフォームをプロジェクトのルートに指定することで、AIトリアージとテストタブを有効にするためのレポーターとトレース設定を追加した上で、スイートをそのまま実行できると説明した。
Harnessは、PlaywrightをCIの速度で確実に実行することがエンジニアリングチームにとって依然として大きな課題であると指摘し、プルリクエストの50%で少なくとも1つの不安定なテスト失敗が発生していること、またSlackがCIパイプラインの再構築前にテスト結果のp95待ち時間が95分だったことを業界データから引用した。Playwrightを大規模にセルフホスティングするには、ブラウザーの依存関係を持つCIランナー、Dockerイメージ、シャード構成、再試行ロジック、コンピューティングのスケーリングなど、複数の要素が必要になり、いくつかの大規模なエンジニアリングチームは、テストの不安定性やインフラストラクチャーを管理するために専用の内部システムを構築している。Harnessは、クラウド実行により、並列ワーカー上でスイートを実行することで、ブラウザーインフラストラクチャー、Dockerイメージ、ノードスケーリングの管理が不要になり、プライベートネットワークを公開することなくファイアウォールの内側でアプリケーションをテストするためのセキュアトンネルも利用できると付け加えた。
Harnessは、AIを活用した障害トリアージがプラットフォームに組み込まれており、失敗したテストは自動的に回帰、不安定性、パフォーマンス、または環境の問題として分類され、同時に障害発生カ所、再試行パターン、考えられる根本原因、および推奨される修正策が明らかになると説明した。
Harnessによると、Playwrightの実行はネイティブなパイプラインステップとなり、テスト結果がCI/CDパイプラインに直接影響を与えるようになる。テストが失敗した場合はデフォルトでデプロイがブロックされ、結果はパイプラインの「テスト」タブにビルドおよびデプロイ段階と並んで表示される。Harnessは、同社のSDKを使うことで、自然言語表現を用いてAI駆動型のアサーションを既存のPlaywrightスクリプトに直接追加できると報告しており、こうしたアサーションは、視覚的な正確性や有効なチェックアウトフロー状態などのチェックにおいて、脆弱なセレクターロジックやピクセル比較を置き換えることを目的としているとしている。
Harnessによると、全てのテスト実行結果はプラットフォーム上で共有され、チーム間で実行結果を確認したり、繰り返し発生する不具合を共同で特定したり、特定のテスト実行結果を検証済みのコミットやデプロイメントにリンクさせることで、コミットからデプロイメントまでのトレーサビリティーを維持したりすることが可能になるという。BrowserStackやLambdaTestといった外部グリッドサービスが、ブラウザーの実行は処理するものの、CI統合、障害トリアージ、品質ゲートはエンジニアリングチームに任せているのに対し、Harnessはネイティブなパイプライン統合、組み込みのAIトリアージ、セッションごとの料金設定なしを提供している。
Harnessは、不安定なスクリプトや保守が困難なスクリプトは、ベンダーの移行や既存のテストスイートの書き換えを行うことなく、プラットフォーム上でインテントベースのAIテストに段階的に移行できると主張した。また、チームはリポジトリーを接続し、プロジェクトのルートを指定するだけで、AIによる障害トリアージを含む最初の実行を数分で行うことができるという。
出典:Harness
この製品の詳細については、Harness製品ページをご覧ください。