急成長IVRy 2年目QAエンジニアの振り返り
こんにちは、IVRyのQAエンジニアの関( @IvryQa )です。
2022年1月に1人目のQAエンジニアとして入社してから早2年。エンジニアの数は15名を超え、新しいプロダクトもリリースされました。(急成長に関してはこちらの記事をご覧ください) 今回は、2年目のQAエンジニアとして経験したことを振り返ってみたいと思います。
※1年目の取り組みについては、下記をご覧ください。
IVRyでは、アドベントカレンダーの記事担当を「紅組」と「白組」に分け、合計PV数で競い合っています。昨日は、バックエンドエンジニア shimadutsuさん の「効果的なテストコードの書き方:RSpecの基本と実践テクニック」が公開されました。そして明日は、フロントエンドエンジニア sagawaさん の「第2弾!IVRy開発合宿の中身をお見せしちゃいます」が公開予定です。
2023年の振り返り
2023年に取り組んだことを基に、振り返っていこうと思います。
1. 不具合報告フローの改善(2023/2月)
元々IVRyでは不具合を発見した際、まずSlackで関係者へ報告し、その後Notionのデータベースで不具合ページを作成し、ページのリンクをSlackのスレッドで共有するという煩雑なフローをおこなっていました。このプロセスを簡素化するために、Notion APIとGoogle Apps Scriptを活用し、不具合ページが作成されると自動的にSlackに通知する仕組みを作りました。
この取り組みによって、新規案件などで多くの不具合を共有する際にとても役立ちました。
現在も改善活動を継続し、そもそもの不具合報告フローの見直しや新たなアプローチを行なっています。
※NotionとSlackの連携方法に関して下記をご覧ください。
2. カンファレンスや外部イベントへの参加(2023/3月~)
カンファレンスや外部イベントに参加し、さまざまな知見を得ることができましたが、実際に得た知識をIVRyや自分の業務に活かすまでに時間がかかりました。業務リソースによって、実際に手を動かして取り組むことが難しく、やりたいと思っていても実行できない状況がありました。
ですが、完璧ではなくライトに検証を行い、良いものは取り入れるスタイルになってから、進めることができるようになったと思います。
カンファレンスで得た品質分析に関する知見は、後半で取り組んだ業務に活かせることができました。
※JaSST'23 Tokyoへの参加レポートは、下記をご覧ください。
3. 新機能や新しいプロダクトが誕生し、機能やプロダクト性質に基づきアプローチを実施
AI音声認識機能
AI音声認識機能では、インプット情報が発話内容以外の要素にも影響されやすく、環境音やイントネーションなどの要素が含まれると、同じ発話内容でもアウトプットが変わることがありました。そこで、どのような要素が結果に影響を与えるのかを明確に把握することで、優先度を決めてアプローチして行きました。
※詳しくは、下記の記事をご覧ください。
広告用のランディングページや電話番号検索などのIVRyを利用していない一般ユーザーも閲覧するページ
広告用のランディングページや電話番号検索ページでは、IVRyとは異なり推奨環境が定めらておらず、使用しているライブラリーの影響によって、異なるブラウザやデバイスでの表示に問題がありました。これにより、アイコンが表示されない、レイアウトが崩れるなどのバグがリリース前に発覚しました。これらのアプローチとして、現状の利用者傾向を Google Analytics などを活用し、市場シェアの高いブラウザやデバイスでのテストの検討を行い優先度を決めて実施しました。
4. 案件ごとに品質分析を実施し、開発チームへフィードバックの実施(2023/11月)
これまでQAは、開発プロセスへのアプローチとバグの再発防止策の提案ができていませんでした。この状況を変えたく、品質改善と開発プロセスの改善を目指して、品質分析を実施しました。現在は取り組みを始めたばかりで、いくつかの課題があります。例えば、チケットのカテゴリー分けが適切でない、テスト工数や項目数の正確な洗い出しが不足している、定量的/定性的な分析を行いフィードバックできていない、といった点です。そのため、各プロジェクトや案件を実施するごとに改善を行い、より効果的な取り組みを目指して行きます。
QAエンジニアとしての変化
QAエンジニア1年目と比べ、目の前のタスクやテストに追われることが減り、より広い視野で物事を考えられるようになったと思います。また、ある問題に直面したときに、チームと協力して進めることができるようになったと感じています。
具体的なエピソードとして、リリース前のテストの際にQAリソースが逼迫してリリースに間に合わない状況になりつつありましたが、開発チームへ相談したところ、QAだけでなく開発チームでもテストを行うようにする提案がありました。これによりQAリソースが分散され、結果として各人の仕様に対する理解も均等になりました。
さらに、効率化と軽量化を意識したテストアプローチ行うようになりました。昨年まではほとんどのテストが手動で行われていましたが、電話やアプリの自動着信テストやDatadogを活用したリグレッションテストに取り組み、手動テストせず効率的なテストを実現しました。また、新機能や機能改修におけるQA設計では、開発チーム・PdMとレビュー会を実施し優先度をつけて不要な作業を削減し、テストの軽量化を実現しました。
🔻アプリの自動着信テストについて
🔻Datadogを活用したリグレッションテストについて
また、各案件ごとに品質分析を実施し、その結果をもとにQAから開発プロセスやチームへのフィードバックをしていくようになりました。
2024年は、"脱"最後の砦
入社当初、QAの役割は「クライアントに提供する最後の砦」として位置付けており、リリース後のバグは、QA担当者の責任と自覚しQAを実施する事としていました。ですが、エンジニアやプロダクトの急成長に伴い、近い将来、QAがボトルネックになってしまう可能性を感じています。
そのため、QAは単にリリースされるもののテストを行うのではなく、テストの効率化と仕組み化にも取り組む必要があると考えます。具体的には、現状の自動テストの見直しや、開発プロセスへの統合。品質分析の精度と質を高め、より適切なフィードバックを行うなどです。
さらに、開発フローや開発チームへのフィードバックを通じて、プロジェクトやチームがどうあるべきか、何を改善する必要があるかを考え、QAが単なる最終チェックポイントでなく、チーム全体の品質文化をリードする存在を目指していきたいと考えています。IVRyは、QAとエンジニア間に壁がなくオープンなコミュニケーションが可能であることが特徴です。この環境を活かし、さまざまなコトに対して積極的に取り組んでいきたいです。
最後に
このnoteを読んで、少しでも興味を持った方は、ぜひお話しましょう!