はじめに
こんにちは。QCの佐藤です。
月日が経つのは早いもので、QCメンバーも増え、多くのメンバーがブログを書いてくださっており嬉しい限りです😊*1
- ANDPADで韻を踏む - ANDPAD Tech Blog
- アンドパッドラップの作り方 - ANDPAD Tech Blog
- QAがGoで始めるテストデータ作成の自動化 - ANDPAD Tech Blog
- ANDPADのQualityControlを紹介します!2023 - ANDPAD Tech Blog
私がブログを書いたのはもう2年前...(徐々に間隔が長くなっている...)
今回は私の担当しているプロジェクトでの、E2Eテスト管理・運用方法についてお話します。
以下のような課題ってE2Eテストあるあるですよね (´;ω;`)
- E2Eテストの運用が属人化してしまっている...
- むか~しに作ってからはただ回しているだけ...
- テストに失敗していることはわかっているけどなかなか直せない...
この記事で少しでもお困りごとの手助けになれば幸いです!
1. 定期実行結果確認の持ち回り
E2EテストはAutifyを採用しています。
Autifyにはテストプラン という複数のシナリオをまとめる機能があります。
この機能の定期実行を平日9:00に設定し、実行結果をslackへ通知するようにしています。
テストの実行環境は開発環境です。
実行結果の確認は、曜日ごとにメンバー固定にしており、Slackのワークフローで10時に投稿されます。
担当者はワークフローに沿って実行結果を確認します。
実行結果を確認するメンバーは、エンジニアとQCで担当しています。
お休みを取得する方も考慮して、代打の担当者も指定しています。
このように曜日固定とすることで、開発メンバー全員でE2Eテストに関わるようにしています。*2
この運用とワークフロービルダーの設定はエンジニアさんが推進してくださいました 🙌
2. テスト失敗時の運用をドキュメント化
E2Eテストの性質上、テストを安定させることは難しいため、たびたび失敗してしまいます。
失敗したときに困らないよう、テスト失敗時のフローをドキュメントにまとめています。*3
現在は以下のフローで運用しています。
- テスト失敗を検知
- 1次対応(調査・修正)
- Autify側の不調で失敗していた場合
- 再実行を行う
- 修正が必要だが、すぐ直せる場合
- 対応チケットを作成(推奨)*4
- 修正を行い、再実行を行う
- 原因不明 or 修正が必要だが、すぐ直せない場合
- 対応チケットを作成
- Slackの実行結果確認スレッドに起票したチケットのリンクを貼る
- Autify側の不調で失敗していた場合
- 2次対応(原因不明 or 修正が必要だが、すぐ直せない場合)
- 失敗しているシナリオをテストプランから外す
- チケットをスプリントに積み、優先的に対応する
- 基本は本番リリース前に修正する
- 朝会等で事象を共有する
- 3次対応(修正)
- 原因を特定し、修正する
- 修正したシナリオをテストプランに戻す
一方で、ドキュメントにまとめてはいるものの、Slackでコミュニケーションを取りながら対応について話す場合もあります。
この運用により失敗の検知後、翌日以降も同じシナリオが失敗することを防ぐことができました。
なお、ドキュメント化は失敗時だけでなく、運用全般で行っています。
ドキュメント化することでメンテナンスコストはかかりますが、属人化してしまうより... と作成しました。
3. E2Eテストのシナリオをスプレッドシートで管理
E2Eテストケースの管理って悩みますよね...
理想はE2Eテスト管理ツール内で完結することだと思っているのですが、実際は手動テストを併用して実行するため難しいです。
現在担当しているプロジェクトでは、主要機能テストケースをスプレッドシートで作成しています。
そのテスト項目書に自動テストの項目として「シナリオID」「対応するチケット」「優先度」を追加しています。
テスト結果記載欄は「自動」というステータスにしています。
テスト項目書で一元化することで、どの程度自動化されているかも把握できるようにしています。
また、優先度を設定することで、優先度の高いものから自動化を進めることができています。
一方で、このテスト項目書の管理がQCチームのメンバーに属人化しているという課題があります。
どの程度自動化されているかは見える化できているので、この課題については引き続き改善策を考えていきます。
また、今後はテスト管理ツールへの移行も考えていきたいです...!
テスト管理ツールを導入しているプロジェクトはあるので、参考にさせていただく予定です。
さいごに
何か新しい取り組みを行う時、初めは属人化してしまってもよいと個人的には思っています。
ただ、運用が波に乗って来た際に今のままでよいのかな?と立ち止まり考えることが大事だと考えています。
いつか属人化していることでボトルネックになってしまい、誰かが困ってしまうかもしれません。
それは幸せなことではないかもしれないので、運用を見直すことも時には必要ですね♪
こちらの記事でE2Eテスト管理運用のお役に少しでも立てれば幸いです!
アンドパッドでは、一緒に働く仲間を募集中です!
ぜひ採用サイトをご覧ください。