モバイルQAで積んだテスト設計が、gRPCの自動テストを支えてくれた
モバイルアプリQAで積んだテスト設計の経験が、LLMアプリのgRPC API自動テスト実装にどう活きているかを振り返りました。
くつしたいぬ - QA
- ふりかえり
- 24卒QAリレーブログ
こんにちは!サイボウズ Office で QA エンジニアをしている、くつしたいぬ(@dog_dog_3dog)です!
今回は、新卒3年目を迎える3人のQA同期メンバーのリレーブログの2本目として、「仕事の変化はあるけれど、やってきたことはちゃんと力になっている」というテーマで書いてみようと思います。
1年前には想像していなかった今の仕事
3年目を迎えた今、私はグループウェア製品の中のLLM アプリの開発チームで、QA のリードとして働いています。
その中で、LLM アプリのバックエンドで使っている gRPC API のテストを、2か月で 500〜600 シナリオほど実装しました。
今の自分だけを見ると、「もともと自動テストや API テストが得意だったのかな」と思われるかもしれません。
でも、実際はそうではありません。むしろ、自動テストにはかなり苦手意識がありました。
LLM アプリの開発に携わることになることも、まして苦手意識のあった自動テストを集中的に実装することになるなんて、1年前の自分はまったく想像していませんでした。
もともとはモバイルアプリの QA だった
入社して最初に配属されたのは、サイボウズ Office モバイル(Android)の開発チームでした。
そのチームではスクラム開発を採用していて、毎週のように新機能が実装され、それに合わせてテスト設計とテスト実施を繰り返していました。
1週間で 5〜6 機能ほど増えるようなスピード感だったので、毎週たくさんのテスト設計をして、モバイルアプリのテストに追われる毎日でした。
2年弱で、合計 200 近いテストスイートを作っていたと思います。
とはいえ、1つ1つの機能は Web アプリの機能をモバイルで再現するものが多く、実装単位としては比較的細かいものでした。
リファインメントが終われば、すぐにテスト設計をして、次の週には実装が終わり次第すぐにテストを実施する。 慌ただしい日々ではありましたが、短期間で新機能のポイントをつかみ、テンポよくテスト設計、テスト実施を進めていく経験を重ねることで、QA としての基礎をしっかり積むことができた期間だったと感じています。
そこから仕事が大きく変わった
その後、自分の所属するチームで PoC として開発していた LLM 機能が製品に組み込まれることになりました。
昨年のゴールデンウィークごろに、「実際に製品として開発して半年後にリリースする」という方針が決まり、その流れで私は LLM アプリの QA を担当することになりました。
そして今年の2月ごろからは、主務の QA メンバーが自分1人、兼務でサポートしてくださる QA が1人という体制の LLM アプリ開発チームに参画し、バックエンドで利用している gRPC のテストをひたすら書いています。
API のインテグレーションテストはそれまでほとんど書いたことがありませんでしたが、Claude Code や Codex を活用しながら、1日あたり 20 ケース前後を書けるようになりました。
Skillsを作成して、テスト観点をAIに渡して、自動でテストスクリプトを生成してもらっています。
もちろん最初からそうだったわけではなく、最初は格闘しながら 1 日 1 本書くのがやっとでした。1か月ほどかけて coding agent との付き合い方を覚え、ようやく 1 人でもある程度進められるようになった、という感覚です。
正直に言うと、バックエンドサービスの堅牢化のために自動テストを追加していく仕事がメインになる、というのは、少し前の自分には考えられなかったことでした。
今でも苦手意識はありますし、わからないことばかりで、本当に手探りで進めています。
それでもやれているのは、前に積んだ基礎があるから
それでも、この大きな仕事の変化を少しずつこなせるようになってきたのは、入社してから培ってきた「テスト設計の技術」があるからだと感じています。
モバイルアプリのチームでずっとやってきたテスト業務は、バックエンドでマイクロサービス間の通信を行うための、gRPC のテスト設計や実装にもそのまま活きています。
たとえば、網羅的なテストを考えるためのデシジョンテーブル、何を同値として扱うかを整理する同値分割、エラーケースを漏れなく考えるためのユースケースや異常系の洗い出し、どれもテスト設計の基礎基本です。
今は、自動テストのコードを書くことがQAとしての仕事の中心になり、AIの力も存分に借りながら、この新しい課題に日々取り組んでいます。 でも、「何をテストすべきか」「どの程度の網羅性のテストをすべきか」を考える力は、間違いなく過去2年間の経験で積み上げてきたものです。
もしテスト設計の基礎ができていなかったら、実装をどうするか以前に、「そもそもこのテストはちゃんと設計できているのか」という大きな不安を抱えながら仕事をすることになっていたと思います。
おわりに
3年目を迎えるにあたって、このブログで一番書きたかったことは、
頑張ってこなしてきた仕事の経験は、新しいことをするときにもちゃんと自分を助けてくれる。
ということです。
仕事の内容や、求められるスキルが大きく変わることは避けられないことです。 でも、その変化の中でも、これまで積み上げてきた基礎はなくならないし、きちんと自分の身を助けてくれます。 最近は、そんなことを実感しながら仕事をしています。
明日は、同期のれおくんのブログも上がるのでお楽しみに!!