手動テストの限界と自動化の必要性
Webアプリケーションの規模が大きくなると、リリース前の動作確認に膨大な時間がかかります。数百画面を人手で確認するのは現実的ではなく、確認漏れによる不具合も発生しがちです。
そこで、SeleniumとPlaywrightを組み合わせたE2E(End-to-End)自動テストの仕組みを構築しました。
技術選定と工夫
1. ツールの使い分け
Seleniumは実績が豊富で情報も多いため、基本的なテストに使用します。一方、Playwrightは最新のブラウザ機能への対応が早く、複雑な非同期処理のテストに向いています。プロジェクトの特性に応じて使い分けています。
2. 待機処理の最適化
SPAやAjaxを多用するサイトでは、要素の表示タイミングが不定です。固定の待ち時間ではなく、要素の出現を検知する明示的待機を使用し、テストの安定性と実行速度を両立させました。
3. テストデータの管理
テスト用のログイン情報や入力データは、環境変数や設定ファイルで管理します。本番環境の情報がコードに含まれないよう、セキュリティにも配慮しています。
レポート自動生成
テスト結果は自動的にドキュメントに出力されます。成功・失敗の一覧だけでなく、失敗時のスクリーンショットや原因分析も含めることで、修正作業がスムーズに進むよう工夫しました。これにより、品質保証にかかる工数を大幅に削減しながら、テストカバレッジを向上させることができました。