ウェルスナビ株式会社のPlaywright導入事例
ウェルスナビ株式会社 / wn-tkinoshita
チームリーダー / QAエンジニア
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
11名〜50名 | 2024年10月 | B to C |
ツールの利用規模 | 11名〜50名 |
---|---|
ツールの利用開始時期 | 2024年10月 |
事業形態 | B to C |
アーキテクチャ

アーキテクチャの意図・工夫
テストの実行では、ECSのタスク定義からバッチ実行する仕組みを構築したことで、複数同時にテストシナリオを実行でき、テストケースが多いテストシナリオも分割して実行できます。
またバッチ実行は、ECSが実行中のみ課金が発生する仕組みであるため、E2E自動テスト実行にかかる費用を大きく削減しています。
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
既存のE2E自動テストツールへのレジリエンスの弱さ
ウェルスナビで実施しているリグレッションテストは、企業が提供するE2E自動テストツールを利用する前提で、テストケースやテストシナリオを作成していました。
そのためテストケースやテストシナリオが、ベンダーロックイン状態となっていて、企業でサービスに対して大きな変更が行われた場合、ウェルスナビでのテスト実施に大きな影響がありました。
もしE2E自動テストツールの利用ができなくなった場合、手動でリグレッションテストを実施する必要があります。
会社の急成長に伴うアジリティの弱さ
また、現在のウェルスナビでのリグレッションテストは、E2E自動テストツールを導入する前と比較して、対象のWebサイトが提携企業の増加とともに大きく増えているため、テスト対象の範囲が多くE2E自動テストツールは必要不可欠です。
つまりウェルスナビでは、E2E自動テストツールを利用できなければ、現状のプロダクト数とリリース頻度から隔週のリリースサイクルを守れない、あるいは、テストの品質が落ちるといったリスクを抱えていました。
どのような状態を目指していたか
品質保証を担保できる体制・仕組み
E2E自動テストツールが、プロダクト数とリリース頻度が増加した場合でも、一定の品質を保証できる仕組みやチームの体制作りを目指しました。最終的には、QAチーム以外の他のチームも、テストケースの作成・運用・保守が行える構造を目指します。
比較検討したサービス
- Playwright
- Puppeteer
- Selenium
- Cypress
- Magic Pod
- Autify for Web
比較した軸
以下の仕組みがあることを比較検討時に重要視していました。
- テスト結果に信頼性がある
- 偽陽性、偽陰性が発生しない仕組み
- 迅速にテストを実行できる
- 繰り返し何度も実行できる、また並行して実行できる仕組み
- テスト結果を誰もが分かりやすく閲覧できる
- テスト結果を集計して視認性高く表示できる仕組み
- ケースの改修を誰もが容易に行える
- GUIでケースを編集できる、または平易な言語で記述できる仕組み
- テストツールの仕様改定に対して、臨機応変に対応できる
- 仕様が公開されているツール
選定理由
以下の機能や性質が備わっていたことが決め手となりました。
- テスト結果に信頼性がある
- 迅速にテストを実行できる
- ヘッドレス機能で、ブラウザを直接起動することなく、テストを実行する
- テスト結果を誰もが分かりやすく閲覧できる
- レポーティング機能で、視覚的に結果を確認できる
- ビデオレコーディング機能で、具体的にテストが失敗した箇所を特定できる
- ケースの改修を誰もが容易に行える
- TypeScriptなど豊富な開発可能な言語で、ほぼすべての開発者をカバーできる
- テストツールの仕様改定に対して、臨機応変に対応できる
- OSSであるため、商用サービスで想定されるサービス終了を考慮する必要がない
導入の成果
改善したかった課題はどれくらい解決されたか
ウェルスナビでは、当初抱えていた課題をすべて解決できました。特に一番の成果は、QAチームだけでなく、他のチームが運用保守を行える仕組み・体制を構築できた点です。
どのような成果が得られたか
パフォーマンス改善
E2E自動テストツールにPlaywrightを採用したことで、以下のパフォーマンス改善が見られました。
- テストのシナリオ数
- 373件から829件と、2倍以上増加
- テストの実行時間
- 1/5ほどに高速化
- テストの成功確率
- 78.59%から99.03%と、成功確率が上昇
OSSのE2E自動テストの基盤ができたことで得られた成果
また、今回新たにE2E自動テストの実行環境が、AWS上に構築されたことで、誰もが自由にテスト実行やテスト結果を閲覧できるようになりました。
そしてE2E自動テストを低コストで実行できるようになったのも、非常に大きな成果でした。
またE2E自動テストツールを選定する際には、品質保証の観点からテスト成功率に対して、十分留意する必要がある知見を改めて得ました。
QAチームの状況として、会社の急速な成長とともにプロダクト開発のスピードやボリュームが増え、以前のE2E自動テストツールでは対応が難しい課題が発生してきました。
新しいE2E自動テストツールは、外部環境の変更によるリスクを減らし、QAチームがこれからの開発案件への品質保証に対応できる体制へと改善できました。
導入時の苦労・悩み
ツールが、業務レベルで運用されている仕組みを公開されている記事が少なかったため、QAチーム以外でも簡単に運用できる全体設計の検討に少し悩みました。
導入に向けた社内への説明
上長・チームへの説明
以下の内容から、Playwright導入による利点が多いことを伝え、導入に至りました。
- 費用
- 商用サービスからOSSツールへの変更で、サービス利用料が大きく軽減されること
- 効果
- テストケースの作成方法が、ブラウザ操作主体からソースコード主体に変わり、テストケースの保守運用が容易になること
- 商用サービスではテストケースの保守運用で、サービス利用に必要となるアカウントの制約がなくなり、全社で利用が可能になること
活用方法
プロダクトを抱える各チームが、リリース対象のモジュールのデグレを検知するため、リリース前のリグレッションテストとして活用している。
よく使う機能
Playwrightのテスト実行でよく利用するテストオプションについて、以下に共有します。
- configファイルの指定(--config)
- プロダクト別にファイルを用意して使い分け
- タグの指定(--grep)
- テストで失敗したテストシナリオの指定など、一部のテストを実行したい際に利用
- タイムアウト閾値の指定(--timeout)
- テストの有効時間を指定し実行時間を最適化
ツールの良い点
- 高速かつ安定的にテスト実行できる
- Chrome DevTools Protocolによる、ブラウザの高速操作
- リアルタイム通信
- 誰でもテストケースを作成できる
- ブラウザ操作で、テストケースを生成可能
- コーディングでも、テストケースを作成可能
ツールの課題点
- テスト結果の通知手段が限定的
- ローカル環境に生成されるレポート
- 非公式Slack通知ライブラリであるplaywright-slack-report
- テスト実行環境が限定的
- ローカル環境
- MicrosoftによるMicrosoft Playwright Testing
今後の展望
今後は、E2E自動テストを提供できていないWebサイトに対して、テストケース、テストシナリオを拡充し、高品質なテストを高速で実行できるよう、さらなる改善を図っていきます。
ウェルスナビ株式会社 / wn-tkinoshita
チームリーダー / QAエンジニア
よく見られているレビュー
ウェルスナビ株式会社 / wn-tkinoshita
チームリーダー / QAエンジニア
レビューしているツール
目次
- アーキテクチャ
- 導入の背景・解決したかった問題
- 活用方法