自動化でリグレッションテストが1回→50回に増加。安心して開発できる環境ができたことで、時間の使い方を変えられるようになった。
株式会社ロコガイド
ユーザーインタビュー第6回は、MagicPod代表伊藤とともに株式会社ロコガイド様にお話を伺いました。
具体的な活用事例や選定の決め手など、いろいろとお話しいただきました。
株式会社ロコガイド 会社概要
ロコガイドは、近くのスーパーやドラッグストアなどのお得な情報にアクセスできるチラシ・買い物情報サービス「トクバイ」を中心に事業を展開しています。現在、掲載店舗数は5万5000店以上、月間1700万人以上の方に利用されています。2022年4月には、2013年のサービス提供開始以来初となるロゴのリニューアルを行い、毎日のくらしに欠かせない買い物をもっとかしこく、もっとたのしいものにできるよう、生活者のニーズに寄り添ったコンテンツや機能開発に注力しています。
POINT
- 手動テストだけでは品質に対する課題があった
- 選定の決め手はクラウド環境で実施できること
- フィードバックの早さも選定の決め手になった
- 好きなだけ実行できることで開発環境が安定化した
MagicPod導入前の課題
入社は2020年12月で、QAを立ち上げて現在まで「トクバイ」アプリをメインに担当しています。ユニットテストやAPIテストはアプリとバックエンドそれぞれで入社以前から自動化されていましたが、アプリからバックエンド全体を通したE2E自動テストについては整備されていませんでした。リグレッションテストは2週間のスプリント最終日近くに手動で行われていたため、不具合を発見しても修正がギリギリになっていました。そのため余裕を持った開発ができず、軽微ではあるものの、リリースした新機能に意図しないバグが含まれるといったことが起きていたそうです。そこでCTOをはじめ、社内で品質に対する課題感が出ていました。
私は前職が第三者検証の会社で、E2Eテストの自動化やCI構築を行っていました。自社開発にも挑戦したいと思っていたところでロコガイドと出会い、「リグレッションテストの整備から自動化まで進めてほしい」という話を頂いて入社しました。テスト設計に課題を残した状態で自動化しても意味がありませんので、まずは3カ月くらいかけて手動で行っていたリグレッションテストの整備をしたり、アプリエンジニアにアンケートを取ったりして課題を洗い出す作業を行いました。
リグレッションテストが整備できたことでアプリエンジニアからは「安心してリリースできるようになった」と言ってもらいましたが、リグレッションテストのたびにエンジニアをアサインして手動実行するのはコストが高く、回数も限られます。より安心して開発できる環境づくりのためには、開発中に高頻度で実行できる仕組みが必要でした。そこで自動化するためのツール選定に入ったのが、2021年の3月頃です。ここまでの話はテックブログにもまとめてありますので、詳しくはこちらもご覧いただければと思います。
参考:「QAチーム立ち上げ記録第1回」(ロコガイドテックブログ)
MagicPod導入の経緯
選定にあたっては、「Appiumで自分でコードを書く」というのも候補になっていました。Appiumはお試しでコードを書いたりしたものの、オフィス内に端末を置いて母艦となるPCと共にメンテンナンスしていかなければいけません。前職でもAppiumの環境構築に苦労しましたが、リモートワーク中心になっている中でOSやAndroid SDK、Xcodeの新バージョンがリリースされるたびに一人でアップデートしていくというのは現実的ではありませんでした。SaaS系ならサービス提供側が管理も請け負ってくれますので、現状に即した選択肢だったと感じます。MagicPod以外のツールも検討はしましたが、モバイルアプリの自動化にも強く、実績があるツールは他にはなかったのでMagicPodに決めました。
伊藤さんとはテスト自動化研究会でご一緒していましたので、MagicPodの存在は開発が始まった頃から知っていました。実際に使ったことはなかったのでまずはトライアルで利用させていただいて、やはり環境を作らなくていいのが楽だなと思いました。次に、ノーコードでテストを作成していけるのもテンポ良くできて楽だなと思いました。Appiumを使っていた頃はボタンを見て裏側のXPathとかidをコピペして……といった作業をしていましたが、MagicPodならテストケース作成時の画面からUI要素をドラッグ&ドロップで直感的にシナリオを作ることができます。(現在はクリックするだけで作成可能) あとはメドレーさんやnoteさんなどのテックブログを拝読して、他社での実績が多くある点も決め手になりました。
MagicPodの活用事例
現在、「トクバイ」アプリではMagicPodをリグレッションテストの自動化に使用しています。CircleCIのジョブをトリガーとして、夜間のNightly buildに対して1回定期実行しているのと、プルリクエストがマージされたタイミングで1日に4〜8回ほど実行しています。実行時間はAndroidが15〜20分くらいで、iOSは50分〜1時間くらいです。マージ前にやろうとするとかなりのブロックになってしまいますので、現在はMagicPodが通らないとマージできないフローにはしていません。
結果はSlackとメールに通知して、エンジニアも見られるようにしています。ただ、失敗してもたまたまスクロール幅が足りなかったとか、読み込みが遅くてタイムアウトしただけということもありますので、まず私が確認して必要があればエンジニアに対応を依頼するフローになっています。本当はもう少しエンジニアが直接触れたほうが良いとも思ってはいるのですが、お互いに時間がないので今後の課題です。MagicPodに限らず、社内向けにQAに関する勉強会はやっていきたいと思っています。
リグレッションテストを自動化したことで、エンジニアの工数を取られることなく好きな回数実行できるようになりました。手動だった頃にスプリント全体で1回だったのが、現在は約50回まで増えています。回数が増えたことで最終日ギリギリに不具合が見つかることがなくなりましたし、常時テストが動いていることでエンジニアが安心して開発できるようになりました。私自身も、余裕ができたことで自動化が難しい新機能のQAに時間が割けるようになりました。手動でリグレッションテストをやっていれば手が足りない状態のままだったと思います。自動化によって時間の使い方を変えられるようになったというのが良かったです。
フィードバックの早さも選定の決め手に
伊藤:最近ダッシュボード的なものを作られたそうですね。
岸さん:自動テストは作って終わりではなく、日々メンテナンスをして改善していかなければいけないものだと考えています。そのベースになればと思って実行数や時間、結果を一覧で見られるように自作しました。CIAnalyzerというDeNAの方が作ったライブラリを参考に、MagicPodのAPIを叩いてデータを集計しやすいようにまとめてGoogle BigQueryに入れています。BigQueryに保存されたデータを、BIツールのRe:dashで表やグラフにして表示しています。
magicpod-analyzerからどなたでも利用できます。READMEに使い方を書いていますので、ぜひ使っていただいてMagicPodコミュニティが盛り上がってくれるといいなと思っています。
伊藤:すごくありがたいです。ダッシュボード機能は要望としてよく頂きますので、今後の開発の参考にさせていただきます。
岸さん:要望や問い合わせなどへのフィードバックの早さはMagicPodを選ぶ決め手の一つにもなりました。「トクバイ」アプリは地域密着型のアプリなので位置情報が取れないと先に進めなかったり、機能が制限されたりするのですが、位置情報を使用した機能のテストがうまくいかなかった際は素早く対応していただいて助かりました。ありがとうございます。
伊藤:しっかり使っていただいているお客さまのモチベーションが下がってしまうと、自動化への取り組みがストップしてしまうこともあります。クリティカルに困っていそうなものについては優先度を高くして対応させていただいています。
岸さん:テスト自動化、特にスマートフォンアプリの自動化はQAをやっている方の中でもハードルが高いと感じて身構えてしまう方が少なくないと思います。今は詳しい方もたくさんいらっしゃいますし、MagicPodのように便利なサービスもあります。自動でできることは自動化して、人間は人間にしかできないより価値の高い仕事をできるようにしていきましょう!
お知らせ
QAエンジニア、募集中です。
・採用情報
・ロコガイドテックブログ