SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2025 Summer セッションレポート(AD)

QAエンジニアがAI駆動開発に挑戦! ──バグ発見から修正まで一気通貫で実現する方法をバルテスに学ぶ

【18-B-2】「バグに気づけるなら直せばいいじゃない」──QAエンジニアがAIで開発エンジニア化した話

 「バグに気づけるなら、直せばいいじゃない?」という発想始まったバルテスの挑戦。7月18日に開催されたDevelopers Summit 2025 Summerにおいて、同社のR&D部部長兼AI技術推進部部長の齋藤俊彰氏は、QAエンジニアがAI駆動開発を活用して開発エンジニア化を図った取り組みについて発表した。従来のQAと開発の分業体制が抱える課題を解決し、品質とスピードの両立を目指した実証実験の成果と課題、そして新たなエンジニア像の可能性について語った。

分業体制において生じる疑問──「そこまで気づけるなら直してよ」

 バルテスは、ソフトウェア開発の全工程で品質向上支援サービスを提供する企業で、主力事業はソフトウェアのテストサービスだ。多数のQAエンジニアが所属し、第三者検証の専門会社としてさまざまな企業を支援している。

 登壇した齋藤俊彰氏は、開発ベンダーで開発エンジニアとしてキャリアをスタートし、2019年のバルテス入社後はQAエンジニアへとジョブチェンジした。その後、社内でのツール事業立ち上げに伴いR&D部の発足に参画し、再び開発エンジニアとして活動するという「振り子のようなジョブチェンジ」を経験している。現在はR&D部部長兼AI技術推進部部長として、AIの社内データ活用研究やAI関連ツール開発を推進する立場にある。こうした経歴が、今回の取り組みの背景となった。

バルテス株式会社 R&D部 部長 兼 AI技術推進部 部長 齋藤 俊彰氏
バルテス株式会社 R&D部 部長 兼 AI技術推進部 部長 齋藤 俊彰氏

 ソフトウェア開発における品質担保は、多くの企業が直面する永続的な課題だ。コードレビューや静的解析による早期バグ検知、自動テストによるデグレード防止、そしてQAと開発の分業体制による品質保証など、多様なアプローチが存在する。しかし、こうした従来の手法にも限界があることを、齋藤氏は実体験を交えて説明した。

 分業体制のメリットは明確だ。品質保証の専門性を持つ人員がプロジェクトに参画することで品質意識が向上し、開発から独立した視点による早期バグ発見が可能になる。さらに、開発エンジニアが機能開発に集中できることで、プロジェクト全体の生産性向上も期待できる。「リソースの最適化という観点からも、分業する会社が多い」と齋藤氏は指摘する。

 しかし、現実には開発とQAの間で摩擦が生じることも少なくない。納期が迫る中、開発側は「優先度の低いテストを省略して、並行して修正を進められないか」と提案する一方、QA側は「デグレードも多く、品質を担保するためのテストが必要だ。私たちはユーザーの最後の砦だ」と応答する。

 齋藤氏は具体例を挙げて説明した。QAエンジニアが「この部分、日付のフォーマットが統一されていなくて、他の画面と表示形式が違う。仕様書にはYYYY-MM-DDと書いてあったが、ここだけMM/DD/YYYYになっている」と報告する場面で、開発エンジニアは表面的には「確かにそうですね。バグとして登録しておきます」と応答しながらも、内心では「ここに気づいてくれたのはありがたいが、そこまで気づけるなら直してくれたら楽なのに」と感じている。このような場面で、QAエンジニアは「不具合が全然直ってこない。こちらで修正できたら楽なのに」と感じ、開発エンジニアは「そこまで気づけるなら直してくれたら楽なのに」と考える。

QAエンジニアと開発エンジニアの間に生じる摩擦の例
QAエンジニアと開発エンジニアの間に生じる摩擦の例

 この観察から、齋藤氏は重要な気づきを得た。「QAは発見に価値を置き、開発は修正に注力するという視点の違いがギャップを生んでいる。両者のスキルセット、つまり発見能力と修正能力の両方があればこのギャップが埋まるのではないか」。

 昨今のAI駆動開発の進展により、コーディングが容易になっていることから、「QAエンジニアがAIの力を借りて直接実装できれば、品質向上と効率化が実現できるのではないか」という仮説を立てた。

QAエンジニアが開発に関与することで期待される変化
QAエンジニアが開発に関与することで期待される変化

AI駆動開発による検証──従来の10分の1の時間で修正完了

 仮説を検証するため、齋藤氏のチームはAI駆動開発ツールを活用した実証実験を開始した。使用したのはRoo Code(Clineのフォーク)とClaude Sonnetで、実装モード、設計モード、質問モードを駆使してQAエンジニアの開発エンジニア化を図った。Roo CodeはVS Code上で動作するAI開発アシスタントで、Claude SonnetはAnthropic社の大規模言語モデルだ。開発アシスタントは複数の選択肢はあるが、齋藤氏は「2024年12月時点でRoo Codeのユーザー体験が非常に良かったため採用した」と選定理由を説明する。

 従来のワークフローとAI駆動開発の違いは劇的だった。従来であれば、QAがバグを発見してチケットを作成し、開発エンジニアに依頼して修正コードを実装するまでに1〜3日を要していた。しかし、AI駆動開発では、QAがバグを発見した後、AIに対して「このボタン、仕様書では青なのに緑で表示されているのを修正して」とチャットで依頼するだけで、AIが修正を実行し適用まで完了する。平均所要時間は10〜30分と大きく短縮できた。

QAがAIを使ってバグ修正まで担当可能に
QAがAIを使ってバグ修正まで担当可能に

 開発エンジニアによる検証を実施し、自社WebアプリケーションのRubyで作られた機能をAI駆動開発に適したNext.jsでリプレースした結果、生産性が52.19%向上した。「AI活用により約1.5倍の機能実装が可能になった」と齋藤氏は成果を報告する。ClaudeのAPI費用として21万円が発生したものの、「開発エンジニアを一人雇うよりもはるかに安い」と費用対効果の高さを強調した。

 AI駆動開発を効率的に進めるため、新機能追加と軽微な機能修正の2つのフローを確立した。新機能追加では、要件定義書をRoo CodeのAsk Mode(質問モード)で壁打ちしながら作成し、AI Architect Mode(設計モード)で機能仕様書と詳細設計書を作成、最終的にAI Code Mode(実装モード)で実装する。

 軽微な修正では、チケット内容を確認して修正仕様書と計画書をAI Architect Modeで作成し、レビュー後にAI Code Modeで実装を進める。

 齋藤氏は、AI駆動開発の重要なポイントとして4つを挙げた。第一に、AIのドキュメントレビューを実装前に必ず行うべきということで、「チーム内でドキュメント共有してフィードバックを入れること。認識のずれや仕様の抜け漏れを防げるので、これは絶対やるべきだ」と強調する。

 第二に、AIの方向性に迷いが出たら勇気を持ってやり直すこと。「一度実装を進めると軌道修正が困難で、不要なテーブルや負の遺産が残ってしまう」からだ。第三に、AIの知っている情報になるべく委ねること。知らない情報で進めるとハルシネーションを起こして実装が破綻する可能性がある。

 最後に最も重要な点として、「これはAIが書いたコードだから」ではなく「これは自分が採用したコードだから」という姿勢を持つことを挙げた。「AIはあくまでも部下。最終的な責任はそれを採用した本人にある」と責任の所在を明確化した。

QAエンジニアがAI駆動開発に挑戦したところ、課題も浮き彫りに

 こうした注意点を踏まえ、3名のQAエンジニアがAI駆動開発に挑戦。それぞれ異なる成果と課題が明らかになった。

 QA歴7年で若干の開発経験があるAさんは、入力バリデーションの実装を担当し、テスト視点から必要な条件を網羅的に実装することに成功した。「開発の基礎知識があったことが大きく、AI駆動開発やコーディングに抵抗がなかった。また、同値分割法などのテスト技法を駆使してAIに依頼することで、網羅的な実装ができた」と齋藤氏は成功要因を分析する。

 QA経験豊富なBさんは、ユーザー視点でのフィードバック実装を担当し、テスト中に気づいたUIの使いにくさを改善してユーザー体験の向上に貢献した。「豊富なテスト経験からWebアプリのUI/UXがこうあるべきという知識があり、開発側の知識向上にもつながる相乗効果があった。また、ドキュメント化して明確化する癖があるため、仕様書をどこまで書けばよいかを示してくれた」と齋藤氏は評価する。

 一方、QA歴4年でプログラミング経験があまりないCさんは、ExcelファイルをWebアプリにアップロードしてデータ反映するインポート機能の実装を担当した。期待していた機能は実装できたものの、「開発の積み重ねがないため、Git操作をAIに任せすぎてコンフリクトを起こしたり、データベースの不整合に気づかずに数日実装が進まないこともあった」と課題も浮上した。

 定量的な結果として、QAエンジニアがAI駆動開発を活用することで、有識者レベルの約65%の生産性を実現できることがわかった。

QAエンジニアがAI駆動開発によって有識者に近づいた
QAエンジニアがAI駆動開発によって有識者に近づいた

新たなエンジニア像──AIをパートナーにした価値創造者へ

 AI活用によるチーム構造の最適化も重要で、新規開発チームと機能修正チームを分離することで効果を最大化できた。齋藤氏は「大規模で複雑な機能実装は開発経験豊富なメンバーとAIが担当し、小さなバグや改善は旧QAエンジニアがカバーすることで、全体の生産性と品質が両立できる」と説明する。

 今回の実証実験を通じて得られた成果は大きく三つ。第一に、バグの早期発見と修正の一体化により、QA視点で発見したバグをAI活用によって直接修正できるようになった。第二に、仕様把握の強みを活用し、仕様書を読み込む機会が多いQAエンジニアの経験を生かして、開発エンジニアが見逃しがちな視点にも気づいて設計できるようになった。

 最も重要な成果として、開発エンジニアの品質意識向上が挙げられる。「まあいいや」で見逃しそうなバリデーションエラーの未実装、例外処理の未考慮、UI/UXの細かな不一致などをチェックリストとして作業してくれることで、開発エンジニア全体の品質意識が大幅に向上した。

 一方で課題も明確になった。AIの知識範囲の限界により、特定のフレームワークの最新知識が不足していると、QAエンジニアがAI任せのコーディングに陥ってしまう。また、Git操作やインフラ知識の不足、システム全体のアーキテクチャ理解不足により、部分的な修正にとどまることも多かった。

今回の取り組みの成果と課題
今回の取り組みの成果と課題

 これらの結果を踏まえ、齋藤氏は「QAエンジニアは段階的に実装スキルを伸ばすべきだが、小さな改善から始めて成功体験を積むことが重要だ。成功体験を繰り返すことで知的好奇心が育ち、実装への興味も深まる」と提言する。なお、レビューの負担は経験豊富な開発エンジニアに依然として残るものの、メインの開発に専念できるメリットは大きいとした。

 齋藤氏は最終的に、従来の「問題発見者」から「価値創造者」への進化を提唱した。「AIの進化により、テストやコーディングの多くがコモディティ化してきている。QAエンジニアと開発エンジニアという役割の垣根が曖昧になってくる中で、開発と品質の幅広い視点を持ちつつAIを使いこなすことが重要な鍵になる」。AIをパートナーにできる人材こそが、これからのエンジニアの理想像だと語った。

テスト一筋で20年以上、専門会社の品質向上ソリューション

 テスト計画・設計〜テスト実施まで、ご要望に合わせた支援が可能です。体系化したテストメソッドにより、品質・コスト・納期のバランスが取れたテストをご提案します。また上流工程からの品質を作り込むコンサルティングも承っております。本記事で興味を持たれた方は、サービスサイトからお問い合わせください。

この記事は参考になりましたか?

提供:バルテス株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/21981 2025/09/19 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング