LegalOn Technologies Engineering Blog

LegalOn Technologies 開発チームによるブログです。

「QAプロセスAI支援ツールキット」〜コマンド一つでテスト業務を加速する〜

はじめに

こんにちは!!
株式会社LegalOn TechnologiesのSET(Software Engineer in Test)のhikimochiです。普段は自動テストの推進やQA部門横断の施策に取り組んでいます。
今回は、QA業務をAIで効率化する「QAプロセスAI支援ツールキット」についてご紹介します。
このツールキットは、シンプルなコマンド入力だけでテスト関連業務を生成AIにより加速させることを目的に開発しています。
Notion / Atlassian (JIRA) / Playwright / Figma等のMCPサーバとの連携により、実務のワークフローへ自然に組み込めることを目指しました。
本記事では、開発の背景からツールキットの概要、工夫した点、初期の成果、そして今後の展望までを共有します。

課題とその背景

私が所属する組織では機能群ごとにチームが分かれており、QAエンジニアも各チームに配属されています。この体制により、ドメイン知識が蓄積しやすくテスト業務の効率化が図れる一方で、チームを横断したテスト関連知見の共有が難しいという課題がありました。
また、全社的に生成AIの活用を推進(https://tech.legalforce.co.jp/entry/2025/05/07/115000)しており、QAエンジニアもChatGPTやGemini、CursorやGitHub Copilot、Claude Codeといった様々なAIツールを利用できる環境がありますが、その活用方法は個人に委ねられており、効果的な活用事例があってもチーム全体に共有される仕組みがありませんでした。
SETチームでは生成AI活用方法をドキュメント化して共有していましたが、実際に利用する際は毎回その資料を探す必要があり、これも業務の障壁となっていました。
そんな中、クラスメソッド株式会社様からAI駆動開発支援フレームワーク「Tsumiki」が発表され、大きなヒントを得ました。
弊社のQAエンジニアも、テストプロセスにおいてシンプルなコマンドを実行するだけで生成AIによる支援を受けられれば、資料を探す手間が省け、業務効率が大幅に向上すると考えました。
また、各コマンドはMarkdown形式で記述できるため、プログラミングの経験が少ないQAエンジニアでも簡単にコマンドをカスタマイズしたり新しいコマンドを作成したりできます。さらに、GitHubを活用することで生成AIの効果的な使い方に関する知見を共有するプラットフォームとしての役割も果たせると考えました。

解決策

そこで、「QAプロセスAI支援ツールキット」を作成し、生成AIによるテストプロセスの支援をシンプルなコマンドとして提供することにしました。
例えばテスト計画作成の場合、/create-test-planを実行するだけでテスト計画を作成できるようなイメージです。

ディレクトリ構成

ディレクトリ構成はシンプルで、以下の2つのみになっています。

  • commandsディレクトリ

    • コマンドを格納するためのディレクトリ
  • referenceディレクトリ

    • 複数コマンドから参照される、プロダクト固有の知識ベースや、テスト手法、技法についてのドキュメントを配置するディレクトリ

また、人によって利用するエディタが異なるため、Visual Studio Code、Cursor、Claude Codeで利用できるような形にしました。

qa-process-ai-toolkit/
├── .github/ 
│   └── instructions/                  
├── .cursor/                           
│   └── rules/
├── CLAUDE.md
├── README.md
├── commands/
└── reference/

GitHub Copilot、Cursorについては以下のような内容をrulesinstructions内の設定ファイルに記述することで、Claude CodeのCustom slash commandsと同様の機能を再現しています。

# カスタムコマンド

/${command}のプロンプトが与えられた際は以下の表に従い、`reference file`に記載のファイルの内容を実行する。

参照するファイルはすべて`/commands`配下に置かれている。

| command           | reference file      |
| ----------------- | ------------------- |
| /create-test-plan | create-test-plan.md |

新しくコマンドを作成したい場合は、commandsディレクトリに新しいコマンドとなるMarkdownファイルを作成し、rulesおよびinstructionsファイルをアップデートする必要があります。

コマンドテンプレート

コマンドの内容は現状は以下のような形で作成しています。

# <コマンド名>

## 概要

コマンドの概要を記載する

## 前提条件

コマンドを利用するための前提条件を記載する

## 必要な MCP Server

コマンド実行時に必要なMCPサーバについて記載する

## 実行内容

AI Agentの実行内容を記載する

## 出力先

Notionや、Confluenceなど出力先の指定がある場合に記載する

## 出力フォーマット例

表形式や箇条書きなど、出力のフォーマットに制限を与える場合に記載する

## 制約

AI Agentに与える制約を記載する。

例えば、ドメイン用語等、AI Agentに推測をさせず、仕様書に厳密に準拠させたい場合に利用している。

## 補足資料

reference内の資料を記載する

実行例

実際の実行例として、テスト計画作成のコマンド/create-test-planを紹介します。

後述の工夫している点 に詳しく書いていますが、AI Agentと対話する形で作成を行う形にしています。

youtu.be

上記動画は3分近くありとても長いので、ステップごとに紹介していきます。

コマンドの実行

まずはコマンドを実行することで、テスト計画作成を開始します。

コマンドの実行

Step1: テンプレートの入力

テスト計画書のテンプレートを入力します。

将来的にはリポジトリ側で管理した方が良さそうですが、現時点ではNotionで管理しているものを利用する形をとっています。

テンプレートの入力

Step2: リファレンス入力

テスト計画作成のための参考資料の入力を行います。

リファレンス入力

Step3: 不足情報の確認

テスト計画のテンプレートと照合して、不足している情報をユーザーに求めます。

不足情報の確認

Step4: テスト計画の作成

これまでの情報をもとにテスト計画を出力します。

テスト計画の作成

Step5: 清書

出力されたテスト計画で問題なければ、テスト計画をNotionに出力します。

清書

Step6: フィードバックと完了

作成されたテスト計画のリンクと作成内容のまとめ、次のアクションを出力してテスト計画作成完了です!

フィードバックと完了

その他にも、Playwright MCPを利用したテスト実行や、Atlassian Remote MCP Serverを利用したバグ分析、テスト分析に関連するコマンドなどを提供しています。

工夫している点

対話型にする

ユーザーが入力するプロンプトの内容によっては、AI Agentが返す内容にばらつきが生じます。期待するアウトプットを得られないこともあるかと思います。
AI Agentの利用に慣れていないユーザーがいることも踏まえ、誰が利用しても同様な質のアウトプットを生成できるよう対話型で成果物を作成できるような形にしました。

シーケンス図
テスト計画作成で定義されている実際の実行内容は以下のようになります。

## 実行内容

テスト計画を作成する

### Step1: テスト計画書テンプレートの入力

**目的**:ユーザーにテスト計画書テンプレートの入力を促す

**AI の行動**:

- 与えられたテスト計画書テンプレートの構造を確認する
- 各項目の説明内容を把握する

### Step2: リファレンス収集

**目的**:テスト対象の理解と要件把握

**AI の行動**:

- 「リファレンスとなる Notion リンクを全て入力してください」と日本語で促す
- リンクの種類(要件定義書、設計書、既存テスト等)を確認
- 要件の要点を整理
- テスト対象範囲を明確化

**期待する入力例**:

---
- 要件定義書:https://notion.so/...
- 機能仕様書:https://notion.so/...
- 既存テスト例:https://notion.so/...
---

### Step3: 不足情報の確認

**目的**:提供されたリファレンスとテンプレートの中身を照合して、不足情報をユーザーから取得する

**AI の行動**:

- 不足情報がある場合、ユーザーに確認を行う
- ない場合は次の step に進む
- 未確定の場合はその旨を入力してもらい、次の step に進む

### Step4: テスト計画作成

**目的**:テンプレートに沿った具体的なテスト計画の生成

**AI の行動**:

- Step2、Step3で整理した要件をStep1のテンプレートに適用
- テンプレートの各項目説明に従って出力する
- ユーザーの同意を得てから次のStepへ進む

### Step5: 清書

**目的**:作成したテスト計画をNotionに清書する

**実行条件**:

- Step4で作成したテスト計画内容にユーザーが同意している
- Notionページの新規書き込み権限がある

**AI の行動**:

- Step4で作成したテスト計画をNotionに新規ページで出力
- 各項目が適切にフォーマットされていることを確認
- 完了後、作成内容をユーザーに報告

### Step6: フィードバックと完了

**目的**:テスト計画の最終確認と作業完了

**AI の行動**:

- 作成したページの URL をユーザーに提示
- 修正が必要な箇所があれば追加調整を実施
- 最終確認後に作業完了を宣言
- 次のアクション(実装開始等)の提案

テストプロセスを細かく分解する

当初はテストプロセスを計画、分析、設計、実装、実行という大分類ごとにコマンド化する予定でした。しかし、そうするとAI Agentに与えるコンテキストとアウトプットが膨大になり、生成結果のばらつきが大きくなる(試行ごとに内容が大きく異なる)問題や、対話回数が増えて使いづらくなる恐れがありました。そこで、テストプロセスをより細かい単位に分解し、コンテキストとアウトプットの量を最小限に抑える工夫をしました。
例えば、テスト分析ではテスト観点の抽出とテスト条件の洗い出しを別々のコマンドにしました。また、テスト設計では因子水準表の作成、テスト技法の選択、テスト技法の適用をそれぞれ独立したコマンドとして実装しています。
これにより、必要な情報と期待するアウトプットをシンプルに定義することができ、AI Agentが生成する結果の一貫性と質を高めることに繋げています。

コマンド作成の簡素化

Markdownで表現できるとはいえ、開発経験の少ないQAエンジニアにとってコマンド作成のハードルは高いかもしれません。
そこで、テンプレートからコマンドを簡単に作成できるコマンドと、設定ファイルに自動で追記してコマンドを有効化するためのコマンドを作成しました。
これにより、技術的な知識に関わらず、誰でも手軽にコマンドを作成・利用できる環境を実現しています。

テストプロセスに閉じない

QAエンジニアが楽になるあらゆる作業を追加することを目指しています。
上記コマンド作成のコマンドもそうですが、(テストプロセスの一部といえば一部ですが、)バグ分析や障害分析、各種仕様書のQAエンジニア観点でのレビューや、プルリクエストの内容の把握など、現状だと手間がかかるものや、独力では難しいものそれらを全てコマンドとして利用可能な状態にしたいと考えています。

考察/今後の展望

本QAプロセスAI支援ツールキットは導入したばかりであり、現在はQAエンジニアと協力しながら、コマンドの追加や検証を進めている段階です。
今後は以下の取り組みを推進していく予定です。

利用者の拡大

本ツールキットをより良いものにしていくためには、フィードバックが必要であり、まず利用してもらうことが重要になります。
ハンズオンやワークショップを開催、またはペアワークを積極的に実施し、QAエンジニア全員がツールキットの使い方や効果的な活用方法について共有していきます。

QAエンジニア全員のコントリビュート

現時点では散らばっているQAプロセスにおける各チーム、各個人の知見を集約し、全員が利用できるようにするのが目的の一つです。
そのため、QAエンジニア全員が気軽にコントリビュートできるように開発や、GitHubの使い方のサポートを行なっていきます。
GitHub Issuesも利用し、フィードバックや新規コマンドのアイデアを収集することで、ツールキットの継続的な改善と機能拡張を図ります。
また、副次的な効果として、GitHubに慣れていないQAエンジニアもこの活動を通じて自然とGitHubの操作スキルを向上させることができるのではないかと期待しています。

効果測定

定期的に効果測定のためのアンケートを実施し、生成AIの利用率やQA業務における作業効率化への寄与を測定していきます。

アウトプットの質の向上

AIが生成するアウトプットはまだ完璧ではなく、実務で利用できる状態にするためQAエンジニアによる手直しが必要な状態です。要因は色々ありますが、例としては以下のようなものがあります。

  • インプットとなる情報が不足している
  • AIの推測が多く入ることによる弊害
  • ドメイン知識などのプロダクト固有の情報が足りない
  • ユーザーごとのプロンプトのずれ

これに対応して、以下の取り組みを行いたいと考えています。

  • 不足している情報についてAI側からの明確なフィードバック機能の実装
  • ドメイン知識などのプロダクト固有の情報を管理、参照できる仕組みの構築
  • 適切な対話を行うためのコマンドの改善

AIの進化に期待しつつ、ツールキットを磨き上げ、生成したアウトプットをそのまま利用できるレベルまで品質を向上させることを目指していきます。

まとめ

本記事では、QAプロセスAI支援ツールキットの開発と活用について紹介しました。このツールキットは、QA業務の効率化を目的とし、生成AIを活用したシンプルなコマンド入力システムを実装しています。開発にあたっては、テストプロセスを細かく分解し、コマンド作成を簡素化することで、技術的な知識に関わらず誰でも使いやすいツールになるよう工夫しました。
今後は、利用者の拡大、QAエンジニア全員によるコントリビュート促進、効果測定、そしてAIのアウトプット品質向上に取り組んでいきます。これにより、各チームに散らばっている知見を集約し、QAプロセス全体の効率化と品質向上を目指します。
当ツールキットがQAエンジニアの負担軽減だけでなく、テスト品質の向上にも寄与し、最終的にはより良いプロダクト開発に貢献することを期待しています。
また、機会があれば成果とともにどこかで発表できればと考えています。

謝辞

今回の取り組みを快く支援してくださった岡登さん、いつも相談に乗ってくださる島根さん、忙しい中でも検証に積極的に協力してくださったQAエンジニアの皆様に心より感謝申し上げます。ありがとうございました!

仲間募集!

LegalOn Technologiesでは共に働く仲間を募集しています!ご興味がある方は、以下のサイトからぜひご応募ください。皆様のご応募をお待ちしております。 https://herp.careers/v1/legalforce/q1UxYv1m5lDdherp.careers