この記事は、Merpay Advent Calendar 2021の24日目の記事です。
こんにちは、メルペイQAエンジニアのEnnです。
今回は、メルペイQAチームで取り組んでいる「不具合データの可視化と分析」について紹介します。
はじめに
「プロジェクトを振り返り、今後の新しいプロジェクトの推進やプロセス改善のために活かして、より良いサービスをお客さまに届けたい!!」というスローガンは、社内のレトロスペクティブで使用されているスライドの最初のページに掲げている内容です。いい振り返りをするために、メンバーとの議論以外に、案件の不具合データ分析や案件進行中の記録などがとても重要だと考えます。プロジェクトの振り返りとして、定性的な感想や意見だけでは足りない部分をQAチームから定量的な指標をフィードバックすることで、より有意義で建設的な振り返りを実施できるように取り組んでいます。
不具合データの可視化やデータ分析はQAチーム全体として決まりきったルールがなく、会社やチームによって取り組んでいる方法が違うと思います。まだ模索中だと言ってもいい段階ですが、今回は私が担当している Credit Design チームで今取り組んでいる内容を紹介したいと思います。
QAプロセスにおける不具合データの可視化
基本的にQAプロセスは以下のフローで進めています。
テスト実行のプロセスでは、不具合が見つかった際に、JIRAチケットを起票して修正してもらう流れです。すべての不具合チケットが修正されて、修正確認も行ってから終了判定のプロセスに入ります。テスト終了判定でリリースできるかどうか、テストは完了してもいいかの判断をするため、可視化された不具合データがテスト終了判定の参考資料として効果を発揮します。
どのようにデータを可視化したか
では具体的にどのようなデータを可視化したのか?どのようにそのデータを活用したのか?について話したいと思います。この部分は「テスト実行中」、「リリース後」と「改善チケット対応の追跡」の三つに分けられます。
テスト実行中
まず、テスト実行中の時です。不具合チケットを起票する際に、チケット単位で不具合の内容をデータ化できるようにします。方法としてはラベルで不具合の種別を分けたり、優先度でチケットに優先順位をつけたり、OS別で不具合チケットを管理したりしています。そして、都度各不具合チケットのステータスを確認できるようにJIRAのDashborad機能を活用しています。
Dashboardを通じて不具合チケットが特定な種別に偏っているのか分かるので、Adhoc 的なテストを実行する場合、操作面をもっとみるか、ユーザービリティ面をさらに見直すかなどの判断のもとになると考えます。また、テストの実行がすべて完了した後に、残りの不具合チケットはあるかどうか Dashboard から確認ができます。Dashboard のデータをもとにリリース可能かどうかの判断ができます。
リリース後
リリース後に不具合データの可視化と分析は以下の三つに分けられます。
– 不具合チケットの可視化
一つ目は不具合チケットの可視化です。リリース後に、不具合チケットのデータがすべてそろったら、不具合チケットの種別を整理し、OSごとにどれぐらいの不具合が出たのか定量的に整理します。OS別の不具合チケットの割合から案件の改修内容と比較し、どの部分に偏っているのか分析します。
例えばこちらはメルペイで8月に実施した案件の一つで、不具合チケットの割合からBackendの不具合が明らかにAndroid/iOS より多く起票されていることが分かります。改修内容を振り返ってみると主にBackendの改修であったため、この結果は妥当な比率と言えそうです。
– 不具合チケット起票推移の可視化
二つ目は不具合チケット起票推移の可視化です。不具合チケット起票の推移をグラフで可視化して、分析していきます。
テストの開始から完了までに、毎日どれぐらいのチケットを起票したのかを表すグラフです。今回の案件ではどの時点で不具合チケットの起票が収束し、工数見積もりが妥当であったか振り返ることができます。もし大きいズレがあれば、当初見積もりの段階で考慮が足りなかったものがあったのか、どのような観点が漏れたのかなどの原因を探って今後の見積もりで参考します。
– 突発的なことの文章化
最後に、もし案件進行中なにか突発的なことでテスト実行や開発実装に影響が出る場合、その内容もなるべく文章化にして記録しておくようにしています。
テスト実行に一番大きく影響した問題にはなにかしらの突発的なことがあったと考えられます。そのため、案件進行中に発生したことを文章化して、今後類似案件を対応する際に参考になる素材になります。突発的なことから学べる経験を共有したり、今後同じ問題が再発しないように議論してトライを決めたりします。
改善チケット対応の追跡
メルペイでは案件として回している施策以外に、ユーザービリティを向上するために改善チケットベースで改修を行っている取組みもあります。改修内容によって違いますが、改善チケットに移動された内容は主に一週間以内に完了できるものです。こういう小規模な改善の対応進捗を管理するため、改善チケットをすべて同じ epic で管理し、毎週起票された件数、未対応のチケット件数、チケットの種別でデータを更新して管理しています。そして、スプリントごとに過去2週間の対応率や起票された内容をまとめて分析します。
また、1クォーターの終わり頃に、過去の3ヶ月で改善チケットの対応率や件数などをまとめて可視化して振り返りをします。
過去の案件データまとめ
上記のように、各案件の不具合データを可視化して分析してから今後参考できるように、すべての案件について一つのスプレッドシートに不具合データやて工数などをアーカイブしています。今後新しい施策を着手するとき、見積もりの時点から過去の案件データを参考にすることができます。より正確なQAスケジュールを立てて、テスト設計するときも過去案件の不具合種別の割合を参考にしながらテスト計画やテスト実装をすることができます。
終わりに
メルペイQAチームで今取り組んでいる「不具合データ可視化と分析」の現状をお伝えしました。まだまだ改善できるところがたくさんある取り組みですが、案件担当者がデータ可視化を通じて、過去の案件を参考にして今不足している部分が網羅できるようになり、過去の経験も記録に残されて他チームとの横連携で参考できる資料になります。今後もデータを活用し、「全員品質」でより良いサービスをお客さまに届けたいと思います。
また、メルペイではミッション・バリューに共感できるQAエンジニアを募集しています。一緒に働ける仲間をお待ちしております。興味のある方のご連絡、お待ちしています!
- ソフトウェアエンジニア (Test Engineer) [Mercoin / Merpay]
- ソフトウェアエンジニア (QA Engineer) [Mercoin / Merpay]
- ソフトウェアエンジニア (QA Engineer Lead) [Mercoin / Merpay]
- エンジニアリングマネージャー (QA) [Mercoin / Merpay]
Merpay Advent Calendar 2021の最終日はVPoE @nozaqさんとBackendチーム Manager of Managersの @godricさんの記事で2本公開されます。お楽しみに!メリークリスマス!!!