ICTを活用して「移動」の効率化と利便性を高める、次世代の交通サービスMaaS(Mobility as a Service)が世界で注目されている。カーシェアをはじめ、MaaS領域は日本でも広がりつつある。
自宅〜空港への送迎をシェアする配車サービス「nearMe.Airport(ニアミーエアポート)」を手掛けるのが株式会社NearMe(ニアミー)。都市と空港を結ぶタクシーなどの往復の移動手段において、ユーザー同士をマッチングして相乗りし、座席の空きを無駄なく活用するというものだ。
2021年11月に国土交通省より、タクシーの相乗り解禁が発表されたことで、空港の送迎だけでなく街中の移動をシェアできる「nearMe.Town(ニアミー タウン)」を新たにリリースするなど、サービスを拡充している。
株式会社NearMeでサービスの開発・運用・サポートを担う小森雄一さんと、岡本優太さんに、品質保証の課題やテスト自動化の取り組みについて聞いた。
インタビューのノーカット版をPodcastでもお聴きいただけます。 Apple Podcast, Google Podcasts, Spotifyから視聴可能です。
— お二人が担当している業務を教えてください。
小森さん: ニアミーは送迎サービスなので、タクシー会社やハイヤー会社との取引があります。弊社では「パートナーサクセス(PS)」と呼んでいますが、私はそのパートナー企業の運用構築をサポートするPSと、日々の運用周りを担当しています。その中で、Autifyを活用したQA業務も見ています。
岡本さん: 私は空港送迎のルーティングを求めるエンジニアリングと、QAを兼任しています。QAでは、ウェブ版/モバイル版でのリグレッションテストや、バグの再現確認、環境に変更があったときのマニュアルテストも担当しています。
— お二人とも、カバー範囲がかなり広いですね。Autify導入前の、品質保証における課題について教えてください。
小森さん: 空港送迎のサービスnearMe.Airportをローンチして1年ほどは、マニュアルでテストして問題なければリリースしていました。サービスの拡充とともにテストが複雑化してきたため、テスト自動化を視野に入れ始めました。自動化できるところは自動化して、複雑なところを手動でやる流れをつくって、品質を担保していきたいと考えました。
AutifyさんはTechCrunchのイベントで隣のブースだったこともあり、それがきっかけで自動化のお話を聞いて、その1年後にAutifyを導入しました。
— TechCrunchのイベントに参加してよかったです(笑)。具体的に自動化に踏み切ったきっかけはありますか?
小森さん: そもそもテストをどうするべきか?についてあまり深くは考えていませんでした。大きなバグや公開後に「やってしまった!」みたいな失敗もあまりなかったからです。
ただ空港送迎やゴルフ送迎など、企業向けの送迎サービスのラインナップが少しずつ増えて、ランディングページが増えるタイミングで、何かしらの対策が必要だと考えました。今後は、マニュアルテストでは限界がくるだろうと。
— サービス数やリリースの頻度はどのくらいですか?
小森さん: リリースのサイクルは、今は2週間に1回ぐらいですが、「〇〇向けサービス」のような細かいリリースは1カ月に何回もあります。弊社の場合、表に5件のサービスがあって、裏に管理者向けやドライバー向けの画面がそれぞれあるので、表を変えると、同時に裏もテストする必要があるんです。
また 1年前にユーザー向けのモバイルアプリ版を出して、ゆくゆくはドライバー向けのネイティブアプリ版も出す予定なので、今後はテストの範囲が広がってきます。前任の担当者とAutifyを試したら、意外と簡単だとわかりました。この4月に新卒で入社した岡本くんに、テストを引き継いだ形になります。
岡本さん: 毎日1〜2回、テストをしています。今は開発のほうで、重要度の高いところをデイリーで1~2回、優先度は高くないけど確認しておきたい部分をウィークリーで2回、火曜と木曜に回しています。本番環境もそれぞれウィークリーとデイリーを決めていて、監視の意味も含めて回している状況です
— AutifyのWeb版を導入いただいたあとに、ユーザー向けのモバイルアプリ版を出されていましたが、モバイルアプリ版のテストはどうしていましたか?
小森さん: ユーザー向けのモバイルアプリ版を出したときは、まだダウンロード数も多くなく、手動で確認する程度だったのですが、昨年からモバイルアプリ版を強化していくことになりました。
モバイルアプリのテストはウェブ版に比べると、実機を揃えて環境を整えたり、手動だと手間がかかるテストが多いです。端末を何種類も用意していますが、手動ではカバーしきれていませんでした。そんな中、Autifyもモバイルアプリ版に対応した「Autify for Mobile」をリリースされたので、タイミングがよかったです。
岡本さん: Autify for MobileではiOSのバージョンを選んで、iOSごとにテストできる機能があって、ありがたいです。
ー Autifyを導入して、自動化までのプロセスを教えてください。
小森さん: 5つのサービスがある中で、メインとなるnearMe.Airportのランディングページは網羅的に動線が通るように設計しました。最初は、簡単な画面遷移図を作って、それに沿ってAutifyで「正常系」のシナリオを設定していきました。
岡本さん: モバイル版も同じく、ログインして予約してキャンセルといった基本的な流れをテストしています。コードが変更になるたびに、朝・昼と手動でやるのは正直面倒なので、Autifyを使って自動で流すようにしています。
小森さん: 普段は出てこないエラーでも、変わったデータが入るとバグることもあるんです。相乗りをマッチングさせる機能で、マッチングしたときなんらかの問題があって、次の画面に進まない、というケースがあったり。普通にテストしていたら見過ごすところでも、頻度高くやっていく中で見つかることがあります。そういう部分で重宝しています。
1日1回の定時だと気づきにくいケースもありますよね。例えば朝と昼に定期的に回していて何か違いが出たときは、原因はタイムゾーン周りということに気付けます。自動化しておけばいつでも繰り返しテストできるので 1回では気付けなかったバグも拾えるのは1番の利点かなと思います。
ー 御社は、サービスをローンチして早いステージから、テスト自動化に取り組んでいらっしゃいます。自動化を後まわしにせず、初期からテストに投資しようと決めた理由を教えてください。
小森さん: 弊社はスタートアップですが、当たり前のところが当たり前に動く品質でなければ信頼性がなくなってしまいます。当たり前のところが当たり前に動かず、原因も不明で「次からはリリースのたびに毎回手動で確認しましょう」となってしまうのはツライ(苦笑)。
おかげさまで、リリース後は画面の一部だけを直すなどの小さいバグにとどめられています。それは、普段から定期的にテストして都度対応できているから、大きな不具合が発生していないんだと思っています。導入前は、まだサービスの規模が小さかったのでそういうのは発生しなかったんですけど、なにも対策せずに今を迎えていたら、おそらく大きな不具合が何回かは発生していたんじゃないかな、と想像します。
ー運用時になにか工夫していることはありますか?
岡本さん: メモ機能を活用して、気を付けるポイントなどのメモを残して他の人と共有しています。今後QAの体制が変わったり、メンバーが増えたときに引き継ぎしやすい工夫をしています。あとはシナリオのステップグループ機能を使って、コマンド一覧を作りメンテナンスしやすくしています。
小森さん: 前任から岡本くんに引き継いだときは、どんな感じでしたか?
岡本さん: 正直、はじめは「QAって何だ?」みたいな状態だったんですけど、Autifyの操作は直感的で、シナリオ作成も画面をポチポチするだけで簡単にできました。
エラーが出ると、自動で画像がスクショで残るのはとても分かりやすかったです。あと問い合わせしたときの返信もすごく速くて、初歩的な質問をしたときも丁寧に教えてくださり、何回も助けていただきました。
ーステップグループは途中でも入れられるようになるので、今後もっと使いやすくなります。
岡本さん: それはすごくありがたいです。待ち望んでいます。メール機能も活用させてもらっていますが、ただただ便利で感動しています。
ー ありがとうございます。メール機能がんばってよかったです。
ーウェブとモバイルの両方のAutifyをお使いいただいていますが、両方を使う利点はありますか?
岡本さん: シナリオ作成や実行、Slack連携などAPI連携など、操作に差異がないので、ウェブ版を使った後に、モバイル版をすぐに始めやすいと感じます。
小森さん: 去年の末ぐらいに、モバイル版のレコードが遅くて、モバイル版は別のツールを検討しようかな、と話していた時期が実はありました。でも操作性が同じですぐ移行できるというのはかなり強いですね。
岡本さん: 3月から引き継ぎを始めて、4月頭ぐらいからぼちぼちモバイルを触っていたんですが、4月中にかなりスピードアップしたような気がします。起動時にかわいい蜂が見られるのはいいんですけどね(笑)。
ー よかったです(笑)。パフォーマンス周りは今がんばっているので、これからまだまだ良くなります。起動スピードもかなり早くなる予定です。パフォーマンスと安定性の向上に引き続き注力していきますので、なにかあればどしどしフィードバックいただきたいです。
ー 実際に導入して、導入前からの変化や効果はありましたか?
小森さん: リリース後に大きい不具合がないことが、一番大きい効果だと思います。テストは岡本くんがメインでやって、項目数が多いときは他の人にも振り分けますが、自動化のおかげで逼迫せずに回せています。「Autifyという人」がすごいがんばってやってくれているような感じです(笑)。
岡本さん: 品質の保証でいえば、高いレベルで毎日監視ができている状況です。不具合があるとスクショを見ながら「ここがこうなっています」と説明して、すぐに対処しやすい。 基本的にリモートワークなので、視覚的な情報があったほうがSlackでのコミュニケーションも円滑です。 そこがうれしいポイントですね。
並列実行ができるので、複数のテストケースを短時間で試せるのは助かっています。Autifyに任せるところは任せて、手動で確認したいところに時間を掛けられます。
ー自動化が難しかった部分はどんなところでしょうか?
小森さん: タイムゾーンや位置情報など、データのパターンによって不具合が起きることがあります。例えば日本のタイムゾーンでは平気だけど、アメリカのタイムゾーンで予約時間がずれてしまったり…。問い合わせがあって発覚するタイプなので、ニーズは低いですが、かなり気にしているところです。そういう異常系や準異常系の部分も自動化できたら、より品質が上がると考えています。
ーテスト自動化にとどまらず、今後の展望があれば教えてください
岡本さん: QA業務全体の標準化を進めていきたいと思っています。というのも、Autify自体はもう標準化されていて、メモ機能などを活用して、誰もが使える状態になっています。Autifyで浮いた時間を、他の部分の標準化の整備に充てていきたいです。
テストにおいては、異常系、準異常系などカバレッジを広げて、CI/CD連携についても順次取り組みたいです。
小森さん: 今後、利用者が増えたとしても極力同じリソースでより多くの予約数をさばける状態にしていきたいと思っています。正常系でもまだ足りていない部分をもう少し増やしたり、テストに組み込んでいきたいですね。あとは、本番に近いデータでテストを回せる環境にしていきたいですね。
ーこれからテスト自動化に取り組む人にメッセージをお願いします。
岡本さん: Autifyを使うと、時間も浮くけど、精神的にも余裕ができます。テスト自動化に取り掛かるのも大変だと思うんです。でも一度Autifyでシナリオを作ってしまえば、必要なときにボタン1つですぐできる。導入を検討されている方がいらっしゃいましたら、そういう「数字じゃない部分の利点」も含めて考えるといいのかなと思います。
ー最後にお知らせがあればどうぞ。
小森さん: 弊社では今、Web、フロント/バックエンド、モバイルなど、全方位でエンジニアを採用しています。ご興味ある方はぜひ、ご応募ください。お待ちしています。
―ありがとうございました!
(聞き手:オーティファイ株式会社 CEO 近澤 良)