playwright-regression-testing について
playwright-regression-testingは、TypeScript向けのPlaywright回帰テストを計画、最適化するスキルです。階層別や変更ベースのテスト選択、CI実行とシャーディング、不安定なテストやスイートの健全性管理を扱います。
主な機能
- 01実行階層ごとのテスト整理
- 02リスクとコード変更に基づく選択
- 03CIパイプラインとテストのシャーディング計画
- 04不安定なテストの隔離と追跡
- 05スイートの実行時間と不安定率の監視
活用シーン
- 01変更に応じたスモークまたは回帰テストの選択
- 02コミット、プルリクエスト、夜間ビルドの実行計画
- 03大規模なテストスイートを複数のCI実行環境に分割
- 04繰り返し発生する不安定なテストの追跡と調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ fugazi/ test-automation-skills-agents --skill playwright-regression-testingインストール後、Claude Code で/playwright-regression-testingを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.txtreferences/ci-cd-integration.mdflaky-management.mdregression-best-practices.mdregression-catalogs.mdregression-selection.mdregression-strategy.md詳細
Playwright 回帰テスト(TypeScript)
TypeScript を使用して Playwright で Web アプリケーションの回帰テストを自動化するための戦略とベストプラクティスです。
有効化: このスキルは、回帰テスト戦略、テストスイートの選択、テストの優先順位付け、CI/CD パイプラインのテスト、不安定なテストの管理、テストのシャーディング、または Playwright を使用した Web アプリケーションのテスト実行の最適化に取り組む際に有効になります。
このスキルを使用する場面
- リスクベースおよび変更ベースのテスト選択で回帰テストスイートを計画する
- テストを階層(スモーク、サニティ、選択的、完全な回帰テスト)に整理する
- 並列化、シャーディング、時間予算の戦略で実行を最適化する
- GitHub Actions パイプラインでCI/CD に統合する
- 隔離、再試行ポリシー、根本原因の追跡で不安定なテストを管理する
- 実行時間、不安定率、検出メトリクスでテストスイートの健全性を監視する
- git diff の分析と影響範囲のマッピングで変更後に実行するテストを選択する
使用しない場面
- 単一の UI 仕様またはページオブジェクトモデルの作成(
playwright-e2e-testingを使用してください)。 - デバッグのためのライブブラウザーの対話的な操作(
playwright-cliを使用してください)。 - Selenium/Java の回帰テストスイート(
webapp-selenium-testingを使用してください)。 - 単独での API コントラクトテスト(
api-testingを使用してください)。
前提条件
| 要件 | 詳細 |
|---|---|
| Node.js | v18+ を推奨 |
| Playwright | @playwright/test パッケージ |
| TypeScript | プロジェクトで typescript を設定済み |
| ブラウザー | npx playwright install でインストール |
| Git | 変更ベースのテスト選択に必要 |
| GitHub Actions | 推奨する CI/CD プラットフォーム |
クイックリファレンス
階層: スモーク(2 分未満、コミットごと)→ サニティ(10 分未満、PR ごと)→ 選択的(30 分未満、マージ時)→ 完全(60 分未満、夜間/リリース前)。
主要なタグ: @smoke、@sanity、@regression、@e2e、@api、@destructive — テストごとに必ず 1 つだけ指定し、describe() ブロックには指定しないでください。ドメイン固有の拡張タグ(アクセシビリティ関連スキルの @a11y など)は併用できますが、テストごとに実行タグは 1 つだけにしてください。
CLI: npx playwright test --grep @smoke | --grep @regression | --grep-invert @destructive | --shard=1/4 | --last-failed
完全な階層モデル、回帰テストの種類の表、タグの分類については、references/regression-catalogs.md を参照してください。
注意事項
- 再試行や
waitForTimeoutの追加で不安定なテストが「修正」されたとみなす — 代わりに隔離し、根本原因を特定してください。 - すべてのコミットで完全なテストスイートを実行する — 階層ごとに選択してください(コミット時はスモーク、完全なテストは夜間)。
- 追跡チケットを作成せずにテストをひそかに隔離する — 隔離は一時的なもので、担当者を明確にする必要があります。
- 変更ベースの選択を行わない — 変更内容にかかわらずすべてを実行すると、CI の予算を浪費します。
- テストスイートの健全性メトリクス(実行時間の増加、不安定率の上昇)を無視し、リリースが妨げられるまで対応しない。
参考資料
| ドキュメント | 内容 |
|---|---|
| 回帰テスト戦略 | ティアモデル(スモークテスト→全テスト)、回帰テストの種類、トリガー、ディレクトリ構成、テストのタグ付けとタグの分類 |
| 回帰テストの選定 | テストの選定(変更ベース、リスクベース、履歴ベース、時間予算)とテストの命名規則 |
| 回帰テストのベストプラクティス | ロケーターの優先順位、Web ファーストアサーション、テストの独立性、test.step() によるレポート、完全なテスト実例 |
| CI/CD 統合 | GitHub Actions の階層化パイプライン、シャーディング、レポートの統合、Playwright の設定、パフォーマンス最適化、CLI リファレンス |
| 不安定なテストの管理 | 再試行ポリシー、隔離戦略、検出チェックリスト、テストスイートの健全性指標、トラブルシューティング |
検証
- スモークテストの対象を特定済み —
@smokeタグ付きテストが 2 分未満で実行されます - テストの重複なし — 各シナリオは適切なレベルで一度だけテストされます
- テストの分離を検証済み — テストをランダムな順序で実行した場合も、順次実行した場合と同じ結果になります
- 不安定なテストのベースラインを確立済み — すべてのテストが連続 5 回、5/5 で成功します