Playwright
公式サイトPlaywrightとは
Playwrightは、実際のブラウザをプログラムから自動操作し、「ログインして、データを登録して、一覧に表示されることを確認する」といった利用者の操作の流れを再現して検証するためのテストツールです。このような、システム全体を端から端まで通して確認するテストは「E2E(End to End)テスト」と呼ばれます。複数の種類のブラウザとスマートフォン相当の画面幅での確認に対応し、失敗した箇所の画面録画やスクリーンショットを残せるため、原因の特定が容易です。
弊社が採用する理由
弊社では、業務システムやWebサイトの主要な操作の流れをPlaywrightで自動テストとして整備しています。対象は、ログイン、データの登録・検索・更新、申込フォームの送信など、動かなくなると業務に直結する機能です。受け入れテストの前に自動で一通りの流れを確認できるため、お客様に確認いただく段階で基本的な不具合が残っている状況を減らせます。フレームワークやライブラリの更新後に、画面の操作が以前と同じように動くことを確認する回帰テストとしても機能し、更新作業の心理的な負担を大きく下げています。GitHub Actionsに組み込み、変更のたびに自動実行する運用が基本です。Next.jsで作る画面でもLaravelで作る画面でも同じように使えるため、技術構成にかかわらず同じ品質の確認を提供できます。この会社サイトの問い合わせフォームもPlaywrightで検証しています。
向いている案件
- ログインやデータ登録など、止まると業務に直結する操作の流れの検証
- フレームワーク更新後に画面の動作が変わっていないことの確認
- 複数のブラウザやスマートフォン相当の画面幅での表示・操作の確認
- 受け入れテスト前の基本動作の自動確認
保守・移行の観点
E2Eテストは画面の構造に依存するため、画面のデザイン変更や項目の追加に合わせてテストの更新が必要です。テストが本来の不具合ではなく画面の変更で失敗する状態を放置すると信頼性が下がるため、画面変更と同時にテストを直す運用を徹底します。テスト用のデータは毎回同じ状態から始められるよう準備し、外部サービスとの連携部分は模擬に置き換えると安定します。実行時間が長くなりがちなので、主要な流れに絞り、細かな検証は単体テストに任せる役割分担が重要です。
組み合わせて使う技術
よくあるご質問
自動テストがあれば受け入れテストは不要になりますか?
不要にはなりません。自動テストは決めた操作が動くことを確認するもので、業務の要件を満たしているかの判断はお客様による受け入れテストが必要です。自動テストはその前段階で基本的な不具合を取り除く役割です。
既存のシステムに後からE2Eテストを追加できますか?
可能です。特に更新や改修を予定している既存システムでは、まず主要な操作の流れをテストとして整備してから改修に着手すると、変更による影響を安全に確認できます。
関連するサービス
関連する開発ガイド
- 検収(受け入れテスト)で確認すべきことWebシステムの検収で発注側が確認すべきことを、検収条件の確認、テスト項目の作成、ステージングでの実施、不具合の記録と切り分け、検収書の作成の手順で解説し、契約不適合責任との関係も整理します。
- 納品後の保守・運用で何が必要かシステムは納品後も動かし続ける必要があります。監視、バックアップと復元テスト、OS・ミドルウェア・CMSのアップデート、ステージングでの検証、保守契約の範囲という基本を整理します。
- Webシステム開発でよくある失敗10選と回避策Webシステム開発で中小企業が陥りやすい10の失敗を、要件・契約と費用・進め方・運用の4つの場面に分けて想定例とともに紹介し、発注側が事前にできる回避策を解説します。
監修: Unlogical Systems合同会社(杉並区・西荻窪)公開