Playwright導入によるテストサイクルの効率化
レビュー投稿日の情報になります
atama plus株式会社 / Hiroto Ikegami
EM / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
最終更新日投稿日
ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|
11名〜50名 | 2022年1月 | B to B B to C |
ツールの利用規模 | 11名〜50名 |
---|---|
ツールの利用開始時期 | 2022年1月 |
事業形態 | B to B B to C |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
リリース直前に実施するシステムテスト(弊社では「リリーステスト」と呼ぶため、以下リリーステストと記載)ではノーコードの自動テストツールを導入していたが、プロダクトとの相性が悪かったため一部にしか適用できず、ほとんどを手動テストで対応していた。 手動テスト中心のリリーステストだと開発規模の拡大に伴いテストケースが増加し、テスト消化にかかる時間も比例して増加するため、素早いリリースサイクルを回すことが難しくなっていくことが想定された。
どのような状態を目指していたか
- 「いつでも」「どこでも」自動テストが実施できること
- リリーステストだけでなく、開発中のリグレッションテストとしても実施できることでより早いフェーズで不具合を検知できる状態を目指した
- リリーステストで実施される手動テストが適切なケース数になること
- 膨大になっていたリリーステストケースを整理し、自動テストで実施すべきテストケースは自動テストに移管することで、適切なテスト工数を保たれている状態
- 新機能のリリース時にも適切に手動テストと自動テストの棲み分けができている状態
比較検討したサービス
- Selenium
- TestCafe
- Cypress
比較した軸
- 利用言語
- プロダクトとの相性
- テスト実行速度
- 実行結果レポートの内容
- 環境準備の容易さ
- 実装のしやすさ
- ビジュアルリグレッションの提供有無
- 将来的なメンテナンス
選定理由
- 環境準備の容易さ
- Visual Studio CodeをインストールしPlaywrightの拡張機能を使うことで開発経験が少ないQAエンジニアでも容易に環境準備が可能
導入の成果
どのような成果が得られたか
- リリーステストにおいて手動テストケースを大幅に削減できた
- Playwrightで自動テストを実装することが当たり前になり手動テストケースの増加を抑制できた
- 開発中のリグレッションテストで利用することで早期に不具合を検知できようになった
導入に向けた社内への説明
上長・チームへの説明
QAチームとして自動テストを推進することは意思決定していたため特に反対意見は出なかった。
活用方法
- テスト実行タイミング
- リリーステスト
- リリーステスト開始後にCircleCI上で実行
- 開発中
- 開発中のテストにおいて任意のタイミングでlocalから実行
- 負荷試験として定期的にCircleCI上で実行
- SREチームと連携して対応しています。参考記事
- リリーステスト
よく使う機能
- Playwright Test for VSCode
- ブラウザの操作によるテストコードの生成
- localでのテスト実行
- eslint-plusgin-playwright
- ESLintのPlaywright用のプラグインで、コードの一貫性、レビューの効率化に寄与
ツールの良い点
- Playwright用の利用自体に費用がかからない
- テスト実装の容易さ
- ブラウザ操作でのテストコード生成
- PickLocatorで画面上の要素取得方法を確認できる
- 複数のブラウザに対応している
- VisualRegressionTestが容易に実装できる
- Auto Waitng
- コードで表現しなくても、actionability checksと共に一定時間要素の出現を自動で待ってくれる
ツールの課題点
- 画面要素の取得がうまくいかないことがある
- 対象のセルを取得したいが、行全体で取得される
- リンクで取得したいが、テキストで取得される
ツールを検討されている方へ
環境構築も容易で、テストコードも自動生成できることから導入はしやすいです。 様々な用途で使えるので、導入する際には何を目的に自動化をするのかを明確にして、スコープを整理した上で進めるとよいと思います。
今後の展望
PlaywrightのCIへの組み込みをさらに進めたいと考えています。現状は基本的な機能(一部のブラウザおよび機能テスト)のみをCIに組み込んでいますが、VisualRegressionTestや複数ブラウザの対応も検討しています。
atama plus株式会社 / Hiroto Ikegami
EM / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名
よく見られているレビュー
atama plus株式会社 / Hiroto Ikegami
EM / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 11名〜50名