6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「不具合起票」を手伝ってくれる「Gem」を作ってみた話

6
Posted at

はじめまして!QAエンジニアのFujiです!

今回は日々のQA業務で「もっとテストそのものに時間を使いたい!」「もっと効率化できる部分はないのか!」という思いから、Google GeminiのカスタムAI「Gem」を作ってみたお話を共有したいと思います。

このGemを作ったのはGemという機能がリリースされてからすぐの頃でした。
今ではカスタムAIもだいぶ浸透してきましたが、当時は「これを使えば、あの作業もだいぶ楽になるかも!」とワクワクしながら触り始めたのを覚えています。

:question:なぜ作ろうと思ったのか

日々の業務の中で、「不具合起票」という作業そのものに時間を奪われていたからです。

QAとしてバグを見つけた後、開発メンバーへ報告するために不具合起票をしますが、個人的に以下のような課題を感じていました。

  • タイトルの要約に悩む
    「どう書けばパッと見で伝わるか」考えるのに時間がかかってしまう

  • 手順がうまく伝わらない
    手順の説明が不足してしまい、開発側から「この手順だとどう再現されるのかが分からない」と確認のコミュニケーションが発生してしまう。

  • テストに時間が割けない
    報告書の体裁を整えることに時間がかかり、本来やりたいテストの時間が削られてしまう。

「この報告作業をもっと楽にできないか?」と考えていた時、「Gem」の存在を知り、自動化してみようと思い立ちました。

:robot: どんなGemを作ったのか

ざっくり言うと、「バグの事象メモや画面収録の動画をAIに投げるだけで、起票者がそのままコピペできる報告書を作ってくれるGem」 です。

ただ、最初は単に「いい感じに不具合起票を書いて」と指示しただけでは、現場で使えるようなクオリティにはなりませんでした。そこで、プロンプトをQAの目線で固めました。

具体的には、以下のようなルールを設定しています。

  • 役割の定義:「世界トップクラスの優秀なQAエンジニア」として振る舞うこと
  • 表現のルール:「ユーザーの申告によると〜」「〜のようです」などの伝聞や推測は禁止。QAが検証した事実として断片的に書くこと
  • フォーマットの固定:そのままチケット管理ツールにはれるように、本文は必ずMarkdownのコードブロックで出力すること
  • 仕様のインプット:テスト対象の画面遷移フローや、ステータスの仕様といった、ドメイン知識をあらかじめ覚えさせる

このようにルールや仕様を教え込むことで、AIが正確な画面名や発生条件、手順を特定し、精度の高い方向書を出力できるようになりました。

:factory: トライ&エラーの歴史

実際にチームメンバーに使ってもらいながら、いくつかAI特有の使いづらい部分が見つかったので改善を重ねていきました。

①タイトルと本文がくっついてコピペしづらい
最初はタイトルもMarkdownのコードブロックの中に一緒に出力されてしまい、タイトルと本文で分割して貼るのが面倒でした。「タイトルは1行目にプレーンテキストで出して!」と明確に指定することで解決しました。

②まるで他人事のような書き方をしてくる
AIが「〜という事象が発生しているようです」といった回りくどい言い方をしてきました。
報告書を作成しているのはQA自身なので違和感がありました。前述した「伝聞や推測は完全禁止!自分で検証した事実と言い切って!」と強く指示をして修正させました。

③存在しない画面遷移を作り出す(ハルシネーション)
これが一番厄介でした。曖昧なメモを投げるとAIが気を利かせたのか「実際には存在しない画面遷移の手順」を勝手に生み出してしまうことがありました。
これに対してはテスト対象の正しい画面遷移を教え込むことで、嘘の手順を書かないように制御しました。

🚯ボツになった機能もあった…

実は「不具合の修正が上がってきた時に、こういう観点でテストした方がいいよ!」という修正確認観点をサジェストしてくれる機能もつけていました。

でも、いざ運用してみると、実際に修正されてテストする頃には、起票した時のサジェストなんて誰も見返さないんですよね(自分は一度も見返しませんでした笑)。開発の修正方針によって確認ポイントも変わるので、結局この機能は消してしまいました。

ただ、経験の浅いメンバーにとっては「そういう観点もあるのか!」とQAの勉強にもなるので、現場の状況によって残しておくのもアリかもしれません。

まとめ

今回Gemを作ってみて、チーム全体のQA業務効率化に貢献できたと感じています!

  • 起票スピードが格段にアップ
  • 手順の抜け漏れが減り、開発メンバーとのやりとりがスムーズに
  • 浮いた時間を「本来のテスト」に全振りできるようになった

AIの進化は早くて追いつくのが大変ですが、あまり身構えずに「今の仕事のここに時間がかかってるな」を解決するツールとして使い倒すのが一番かなと思っています。

まずは身近な解消から。そんな小さな工夫の積み重ねが、数ヶ月後の自分をきっと楽にしてくれるはずです!

仕事の事じゃなくても趣味などをGemにしてみるのも良いかもしれません!
私は夕飯を考えるのが疲れるので、2歳児向けの夕食提案Gemを作ったりしています笑

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?