効率よく守るべき品質を担保し、デプロイの前で問題を見つけようとするユビー社の挑戦

ユビー(Ubie)社(以下、ユビー)は「テクノロジーで人々を適切な医療に案内する」をミッションに掲げるヘルステックスタートアップです。AI技術を活用し、生活者向けの「AI受診相談ユビー」や、医療機関向けの「AI問診ユビー」をサービスとして提供しています。

ubie image1

たとえば、「AI受診相談ユビー」の場合、いくつかの質問に答えるだけで関連する病気や対処法がわかり、受診すべき診療科を見つけられ、回答は医療機関とも連携され診察がスムーズになります

ユビーの品質を支えるQAエンジニアである増原賢秀氏は、現在担当されている案件でmablを活用されています。氏は前職でも mabl を活用されており、「日本国内最初の mabl ユーザー」でもあります。今回は、 mabl を活用したテスト自動化の立ち上げを何回も経験されてきた増原氏に、そのポイントやプラクティスを伺いました。

スタートアップの開発スピードとの戦い

増原氏が担当するプロジェクトは、プロダクト内でも高い品質が求められていました。しかしながら、リリースは毎日実施され、画面やロジックの修正も頻繁に行われるため、いかに効率的に品質を担保していくかが大きな課題でした。

開発プロセス内で、CI を活用した PR ごとの単体テスト、API テストの実行などはすでに行われていましたが、画面を通した E2E はデプロイ後に実行されるテストコードは存在していましたが、それだけでカバーできる範囲は限られており、似たようなテストケースを、異なる複数の環境で実行するコストに手こずっていました。

スタートアップでの開発において、どんどんUIや機能が追加・修正されていく中で、品質をどう担保するかはQAエンジニアにとって最大の課題とも言えます。スピードと品質を両立するために、増原氏は mabl を手段として選択しました。

テスト自動化の立ち上げポイントはスコープ

最近の事例だと、E2Eテストが最も効果的に使えると感じました。画面がどんどん変化するため影響範囲がわかりづらく、ユーザ視点で「壊れていないこと」を確認する必要があったのです。 ーー ユビー 増原氏

まずは、E2Eテストを中心に進めることを決めた増原氏は、最初にテストのスコープを明確にしていきました。

  • E2Eテストで最初にやること、やらないことを明確にする
  • mablが担保できる品質と、そうじゃない箇所を明確にする
  • 何が担保されていないとだめなのかを決める

増原氏は、もっとも重要なテストシナリオを、まずひとつ作成しました。そのシナリオは、複数の似たような環境でも活用できるため、そのシナリオだけを磨きあげ、複数環境で並列実行させながら、スモークテストのように最低限の品質を守ってくれます。

そして、このやり方をビジネス側にも共有し、共通認識を作りました。ビジネスにとって何が必要な品質なのか?E2Eテストとしてどう実現するか? E2Eで何ができるか? 何ができないのか? こういった共通認識を築いていくことで、過度な期待や間違った認識を避け、「品質」というものをビジネスや開発など関係者全体のものにしようとしています。

さらに、こういったテスト自動化に関連するタスクを作業に落としこみ、スクラムのセレモニー内で何をしていこうとしているのか説明していきます。デモを見せ、関係者の理解を深めていこうと試みています。

増原氏にとって、 mabl は使い慣れたツールであり、何ができて何ができないかを深いレベルまで理解されています。デプロイフローにも組み込みやすく、まだmablの検証段階ではありますが、デプロイフローにはすでに組み込まれています。

CI/CDのパイプラインにテストを組み込むのは、とても大切なプラクティスの一つです。パイプラインに組み込むことで、開発に関わるメンバー全員が E2E テストを意識せざるを得なくなり、品質に対する当事者意識がわきます。増原氏は過去にも「テスト結果の通知を、開発関係者がいる場所(Slackなどであればチャンネル)に共有している」と語っています。

品質のための「型」を作る

最低限のE2Eテストが完成し、それを随時に流しながら、毎日発生するリリース作業をまわしていきます。増原氏は、開発・テスト・リリースの作業を回しながら、型を作っていくことの重要性を強調します。

リリースしてからテストを自動化していたら、いくら効率のよいスクラムを回していても、そのサイクルがテストで止まってしまいます。テストが追いつかなくなる問題を避けるために、デプロイ前にテスト自動化が完了しているような「型」を考える必要があるはずです。 ーー ユビー 増原氏

仕様検討、設計、開発、テスト・・・といったフェーズを無くすのは難しいでしょう。しかし、継続的にテストを行えば、最小限に縮めることは可能です。増原氏の考える方は、「テストを最後にまとめてしない」というシンプルなものです。しかし、とても実現が難しいものでもあるでしょう。

マニュアルテストではできないことが、ツールによってできるようになりました。 ーー ユビー 増原氏

増原氏はまずこの型を作り、今後はそれを安定化させ、

  • リグレッションテストができていること
  • 何をE2Eテストスべきかが決まっていること
  • デプロイ前にはE2Eテストが完了している状態を作ること

を最初のゴールとして見据えています。その後は、現在の取り組みを開発メンバーへと展開し、プロダクト全体の品質活動に切り替えていく予定です。

効率よく品質を担保するためのツール

最後に、mabl を使ったテスト自動化でどんな結果が出るのかを聞いてみました。

現段階で、定量的な成果を語るのは難しいですが、効率よく品質を担保するための手段として mabl を活用できていると思います。 ーー ユビー 増原氏

mabl の強みと弱みを理解し、それを現場に落とし込み、より効率的に、効果的に品質を高めていく。mabl を活用することで、増原氏は自分自身の生産性をスケールさせ、より効率的に品質を高めようとチャレンジしています。