ジョブカン事業部のアドベントカレンダー19日目になりました!
こんにちは、QAエンジニアのマーモットです。
今回は、開発スピードを落とさずに品質を担保するための切り札として、AIペアプログラマー『Cursor』を利用した爆速テスト設計術を紹介したいと思います!
1. はじめに
開発スピードが加速する今、改修内容の差分だけを見て効率的にテスト範囲を絞るスキルは必須です。しかし、忙しい中、広範なコードの変更を読み込み、潜在的なリスクを見抜くのは大変な作業です。
その作業時間を、私はCursorを使って劇的に短縮しました。
本記事では、AIペアプログラマー『Cursor』にGitの差分を出してもらい、数分でテスト観点を抽出・設計する具体的なプロセスを、プロンプト例を交えて徹底解説します。もう、見落としの心配や、無駄な全量テストとはおさらばです。
2. Cursorがもたらす3つのメリット
なぜ今、生成AI(Cursor)でテスト設計をすべきなのか?
ここでは、AIがテスト設計にもたらす具体的なメリットを3つの視点から解説します。
2.1. 人的エラーの削減と網羅性の向上
-
人間の限界の補完: どんなに熟練したQAエンジニアでも、忙しい開発サイクルの中では、コードレビューや差分分析の際に認知バイアスや集中力の低下により、潜在的なリスクや影響範囲を見落す可能性があります
-
AIによる網羅的分析: Cursorのような生成AIは、提供されたコード差分を疲れることなく、客観的に分析します。これにより、人間が見落としがちなエッジケースや関連ファイルへの波及影響を、ロジックベースで網羅的に抽出できます
2.2. テスト設計の圧倒的なスピードアップ
-
時間対効果の最大化: テスト設計において最も時間を要するのは、「変更範囲の把握」と「それに対する観点の洗い出し」です
-
工数削減の実現: Cursorに差分を出してもらうことで、この初期分析フェーズを数分で完了させることができます。これにより、QAエンジニアはAIの提案を吟味・修正したり、複雑なユーザーシナリオの深掘りなど、人間にしかできない高度な判断に時間を集中できます
2.3. ナレッジの平準化と品質文化の底上げ
-
属人化の解消: テスト観点の抽出は、多くの場合、その機能やコードに詳しい特定のエンジニアの経験に依存して属人化しがちです
-
チーム全体の底上げ: Cursorは、ベテラン・ジュニア問わず、一定水準以上のテスト観点を瞬時に提供します。これにより、チーム全体のテスト設計のナレッジが平準化され、品質のバラつきを防ぐことができます
3. 実際の利用方法
前章では、Cursorを利用することの利点を説明していましたが、今度は実際にテスト観点を抽出する流れを説明します!
3.1 前提
話を続ける前にいくつか前提条件を挙げます。
お試しで利用したい方は、下記の前提を揃えた上で再度読み進めていただければと思います!
- Cursorのインストール
- GitのインストールとGitHubアカウントの開設
- テスト対象のレポジトリをクローンする
3.2 テスト対象となるブランチにチェックアウトする
テスト依頼が来たら、今回の修正や機能開発の差分を取得するために、開発担当者が作業したブランチに移動しましょう。
#リモートレポジトリから最新のブランチやコミットの情報を取得します
git fetch
#リモートレポジトリから取得したブランチやコミットの情報をローカルレポジトリに反映させます
git pull
#テスト対象のブランチに切り替えます
git checkout 〇〇〇〇(テスト対象のブランチ名)
3.3 Cursorのチャットを利用する
Macであれば、Cursorエディタを開き、⌘+Lでチャットのウィンドウを開けます。
開いたコンソールでCursorに下記のようにテスト観点を抽出してもらいます。
[ベースブランチ名](例:develop)と現在のブランチの差分から、手動UIテストのテスト観点を抽出してください。
抽出観点、重要度(高/中/低)を記載したcsv形式の表で出力してください。
上記プロンプトを送ると、ブランチの差分を参照するいくつかのgitコマンドを出すので、そのままEnterを押下すると、そのコマンドを実施してCursorがgitの差分を取得して、そこからテスト観点を出してくれます。
ポイントは、手動UIテストのテスト観点であることを明示することです。
明示しない場合、ユニットテストのテスト観点を出してしまうので注意してください。
3.4 抽出されたテスト観点を精査する
最後に、抽出した観点をスプレッドシートやExcelにインポートして、テスト目的と改修内容に従って精査します。
主に以下のポイントで精査します。
- テスト目的に沿った観点か
機能要件を始めとして、非機能要件まで幅広く観点が抽出されるので、テスト目的に沿わない観点は、グレーアウトして盛り込まないようにします - 不足している観点がないか
過去のテストによるナレッジや、重点的に検証したい機能の観点などを追加します
4. まとめ:スピードと品質を両立させるAIシフト
開発スピードと品質は、トレードオフの関係にあると考えられがちです。しかし、Cursorのような生成AIを活用することで、この両立は可能になります。
もちろん工数削減は大きなメリットですが、私たちがAIに期待しているのは、単なる課題の解決ではありません。私たちが目指すQAの理想像は、「開発プロセスにおける品質の価値を最大化すること」であり、そのための手段としてAIを活用していきます。
特に、以下の2点はチームの質を大きく向上させるように感じます。
-
ナレッジの平準化: 経験年数に関わらず、AIが一定水準以上の観点を提示してくれることで、チーム全体の品質レベルを底上げする
-
開発者との共通言語: 開発者が作成したコード差分を基にテスト設計を行うことで、QAと開発者間の「ここがリスクだ」という共通認識を持ちやすくする
AIの進化は止まりません。私たちQAエンジニアも、AIを駆使して、より戦略的に「品質の創出」に貢献する時代へとシフトしています。ぜひこの機会に、Cursorを使った新しいQAのあり方を追求してみてください。
5. 最後に:DONUTSで一緒に品質を追求しませんか?
この「爆速テスト設計術」のように、DONUTSでは新しい技術や手法を積極的に取り入れ、開発スピードと品質の両立を目指しています。
もし、この記事を読んで、
「Cursorを使ったQAの効率化に共感した!」
「AIを活用した新しい品質保証の仕組みづくりに挑戦したい!」
「自社サービスの開発に、主体的に関わって価値提供したい!」
と感じていただけたら、ぜひ私たちDONUTSの仲間になっていただけませんか?
QAエンジニアだけでなく、開発エンジニアなど、様々なポジションであなたの力を必要としています。
ご覧いただきありがとうございました!
採用情報はこちらからご覧ください!
【ジョブカンエンジニア オープンポジション】
【DONUTS】