MagicPodの導入で、QAチーム自体の品質も向上した事例紹介
株式会社スタンバイ / 扇谷丈志
チームリーダー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
利用プラン | ツールの利用規模 | ツールの利用開始時期 | 事業形態 |
---|---|---|---|
エンタープライズLite[アプリ+ブラウザ] | 10名以下 | 2022年9月 | B to B B to C |
利用プラン | エンタープライズLite[アプリ+ブラウザ] |
---|---|
ツールの利用規模 | 10名以下 |
ツールの利用開始時期 | 2022年9月 |
事業形態 | B to B B to C |
導入の背景・解決したかった問題
導入背景
ツール導入前の課題
求人検索サービスを提供するスタンバイのQAでは、toBやtoCのサービス、加えてバックエンドやアプリの検証など、多岐にわたるテスト対象があった為、リソースの問題でQAが必要と考えるボリュームで理想的なテストが実施できていませんでした。
リグレッションテストの観点でも、リリースサイクルとテスト量のバランスが崩れており、本番不具合対応で開発チームに本来不要だったかもしれない調査や対応をお願いすることがあり、プロダクト全般の品質向上を行えていないことが大きな課題のひとつとなっていました。
- QA完了後、想定外の箇所で安易な不具合の取りこぼしがあった。
- QAを通さない、軽微な新リリースに起因する不具合の検出が遅れていた。
- リグレッションテストのボリューム増加に対して、テスト内容の再構築が行えていなかった。
どのような状態を目指していたか
QAが最低限必要と考える以上にテストを回すことを目的とし、以下2点を実現することで課題解消を期待しました。
- 全QA依頼時に全般的なリグレッションテストの実施
- 本番/検証環境で、日次の定期的なテスト実施
比較検討したサービス
- Autify
- mabl
比較した軸
Autifyは前職で軽く触ったことがあった為、MagicPodのトライアルを申し込みました。
トライアル時には、導入後に実現したいテスト内容を予め想定しておくことが肝要です。操作に慣れることももちろん必要ですが、期待する操作や動作を導入したいサービスで再現できるか否かを重視しました。
- スタンバイQAのスタッフが、ノーコードでテスト自動化できること
- 現行のテスト内容を再現する為に、必要十分な機能を備えていること
結果として、スタンバイQAが要求する機能は、両サービス共に備えていることがわかった為、機能面が導入判断の決め手とはなりませんでした。
選定理由
一部エンタープライズのプランを前提としていますが、以下の事由で導入を決定しました。
- シナリオ数(エンタープライズプラン)と実行数が無制限であること
- 制限に抑える場合、必要かもしれないテストを割愛するなど、思考・判断が必要になること
- 制限を超えたい場合、超過分の社内稟議が煩雑になること
- 他ツールと比較し、安価であったこと
- iOS/Androidアプリ対応のプランでも、コスト面でかなりの優位性があったこと
- QAメンバーだけで完結できること
- 開発スタッフを関連テストから解放し、開発に集中できる環境にすること
- 日本発のサービスであることもありサポートが手厚く、ベンダーロックされても問題がない品質と規模であったこと
導入の成果
改善したかった課題はどれくらい解決されたか
タイトなスケジュールの中でも自動化を進めたことにより、当初の目標としていた事項は全て解決されました。
テストシナリオの充実化などは継続的に必要となっていますが、安易な不具合を防げた場面では、不安を抱えた中でのリリースも減り、QAスタッフの心理的安全性も高まったと思います。
どのような成果が得られたか
MagicPod導入時に作成した初期のテストシナリオでも十分に活用可能ではありますが、cssセレクターやxpathの理解を深めるための勉強会を開催することで、失敗しにくく、メンテナンスしやすいテストシナリオが作成可能になりました。
必要性に追われた結果となりますが、htmlの構造の理解が各QAメンバーで深まったこともあり、導入以前と比較し、より有効なテストの策定や、導入前には見つけられなかった不具合の報告が可能になったことは望外の収穫となりました。
QAメンバーにとって新しいチャレンジになりましたし、作成した分だけ効果が実感できること、また実際に不具合を検出することで、良い循環でモチベーションを上げて作業に取り組むことができています。
導入時の苦労・悩み
誰でも使用可能で直感的に操作可能ではあるが、チェック手順や観点を分解して思考しきれないスタッフが作成したテストシナリオは、レビューと改修に時間を要する為、自動化していく以前にテスト観点・項目の作成を自己完結できるくらいのスキルは必要でした。
また、既存のテスト項目とMagicPodのテストシナリオにテスト順などの整合性を持たせる為、見直しを行う必要もありました。
本格運用後に大幅なUI刷新が発生した場合、早い段階でメンテナンスやシナリオ追加しないと不具合検出に遅れが発生してしまう為、まとまった時間の確保に苦心するタイミングがあります。
導入に向けた社内への説明
上長・チームへの説明
MagicPodは導入コストが低かった為、金額面に関する説明のハードルは低いです。
現状のQA状況と鑑み、将来的な効果としてQAコストの削減は限定的であることは重ねて説明する必要がありました。
「実施していたことの削減よりも、できていなかったテストの充実化」という文脈で、テストを重ねて実行できること、既存のテストでは見つけられない不具合検出や早期発見が可能となること、そして開発側にかかる負担軽減を軸に説明しています。
活用方法
ブラウザ3名、アプリ2名の体制でテスト作成/保守を行っています。
環境毎に要確認(画像差分発生)/失敗(テスト中断)をSlack通知することで、保守の動機付けを高めています。また、「1時間/週」のMagicPodのテストシナリオを高める会を開催し、課題を決めて着手することで、放置による形骸化を防止しています。
テストシナリオは観点/目的ごとに小分けすることで、失敗時の損失(テストカバレッジの低下)を抑えています。長いテストシナリオは悪です。
本番環境、ステージング環境は3時間毎の定期実行。
QA環境では手動実行を行い、新規実装/改修箇所は手作業による確認、それ以外はMagicPod確認でテスト実施箇所を棲み分けしています。
よく使う機能
- 各機能ごとの検証と画像差分によるUI検証(3時間毎に実施)
- 画像差分のキャプチャは、不具合報告や仕様の共有に有効です。
- テスト環境を準備するための操作
- 前日や当日の操作ログにより反映される箇所の自動化で、テストの下準備が不要になりました。
- コメント機能
- メンテナンス効率を高める為、何を実施するテストなのか、何をする手順なのかを都度項目に入れたほうが多人数での運用には優位です。
ツールの良い点
- テスト定期実行:テスト失敗時のタイミングがわかり、どのリリースが影響したかの判断が容易になる
- 削減候補ともなりうるリグレッションテスト項目を自動化することで、QA業務のストレスが減った
- 固定IPサービス(エンタープライズプラン)
- テストシナリオの作成は案外面白い
ツールの課題点
- 不定期のChromeのバージョンアップで、画像差分が大量に出てくる時がある(一括承認は可能)
- 画像差分で比較したい箇所をフィルタできるが、差分結果から編集画面まで行くのが煩雑
- メールチェックが少し大変(スタンバイでは、Slackのメール機能で補完)
ツールを検討されている方へ
QAが繁忙で、テストシナリオ作成やメンテナンスに十分に時間を割けられない体制である場合、数ヶ月単位のアウトプットでは必要なボリュームのテスト作成は不可能だと実感しています。
プロダクトのボリュームや実現したい内容にも依りますが、導入時の数ヶ月間は1人月をかけるくらいの気持ちで臨める体制が理想です。 もちろん、1〜3時間/日を1〜2名で続けるだけでもある程度の成果は出てきますが、早期に効果を実感したい場合、QA体制の見直しから入る必要があるかもしれません。
ただし、導入時の初期目標は低めに設定することで、考え方が「プラスαで何を強化できるか」で思考するようになるので、当面のノルマはできるだけ低く見積もることをオススメします。
なお、スクリプトやプログラミングを軽く齧ったことがあるメンバーが1名でもいると、MagicPodの可能性を十分に引き出すことが可能となります。そのようなメンバーがいなくても、自動化の難易度を下げ、視覚的に実装できるようにし、テスト自動化を一般化した素晴らしいサービスとなりますので、拡張性もある自動化ツールとして十分に活用できるでしょう。
既にSETエンジニアがいるチームであっても、別の自動化へとリソースが割けますので、一度試す価値のあるサービスだと確信しています。
株式会社スタンバイ / 扇谷丈志
チームリーダー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名
よく見られているレビュー
株式会社スタンバイ / 扇谷丈志
チームリーダー / QAエンジニア / 従業員規模: 101名〜300名 / エンジニア組織: 51名〜100名