
品質管理
品質管理(Quality Control)は、品質の管理・改善を行う活動全般を指します。
どの領域においても、ユーザからの期待・信用を失わないためにも、品質管理は重要な活動の1つです。
どの領域においても、ユーザからの期待・信用を失わないためにも、品質管理は重要な活動の1つです。
イベント
マガジン
技術ブログ
急成長を続けるメガベンチャーの現場では、プロダクトの多角化や組織の拡大に伴い、ある深刻な課題が浮き彫りになります。 それは、チームごとにテスト方針や管理手法が異なる「品質管理の分断」です。 「あるチームはExcel、別のチームはNotionで管理し、バグ報告だけがJiraに集まってくる」 このような状況では、プロダクト横断での品質担保は難しく、QAマネージャーは現場との板挟みや、リリース直前の予期せぬ障害対応に追われることになります。 個別最適の限界を超え、QAを「ボトルネック」から「価値創出の基盤」へと変えるためには、開発の主要プラットフォームであるJiraを品質のハブとして活用する戦略が不可欠です。 そこで今回はJiraとテスト管理ツールを連携させることで実現する「品質の全体最適」について、その構造から具体的な導入ステップ、さらには経営指標としての活用方法までを詳しく紐解いていきます。 import haihaiInquiryFormClient from "https://form-gw.hm-f.jp/js/haihai.inquiry_form.client.js";haihaiInquiryFormClient.create({baseURL: "https://form-gw.hm-f.jp",formUUID: "927d2c4e-f06c-45b1-bd36-0240e55ccf72",}) ▼テスト管理ツール11製品の完全比較はこちら▼ 【2026年対応】テスト管理ツール11製品の徹底比較!【脱Excel】 チームごとに品質がバラバラ…その原因は「テスト管理の分断」 メガベンチャーでよく起きるQAの構造的な問題 組織が急拡大するメガベンチャーにおいて、プロダクトやチームごとにテスト管理方法が異なっている状況は珍しくありません。 あるチームではExcelでテストケースを管理し、別のチームではNotionや独自のツール、あるいは特定のエンジニアのローカル環境に情報が眠っているといった「情報のサイロ化」が頻発しています。 特に深刻なのは、バグ管理はJiraで行っているものの、テストケースの管理は別のツールで行われているために情報が断絶しているケースです。 開発の進捗とテストの実施状況が紐付いていないため、どの要件に対してどの程度のテストが完了し、どのバグがどのテストケースで発見されたのかを追跡することが困難になります。 このような断絶は、全体俯瞰を重視するQAマネージャーにとって、品質のブラックボックス化を招く大きな要因となります。 情報の分散は単なる手間の増加だけでなく、組織としての品質基準を曖昧にし、結果として各チームの成果物にばらつきを生じさせる構造的な欠陥といえます。 QAマネージャーが感じる「個別最適の限界」 チーム単位での改善を積み重ねても、プロダクトを横断した品質が安定しないという壁にぶつかることがあります。 これは個別最適の限界であり、現場の努力が組織全体の価値に直結しにくい状態です。 特定のチームがテストの自動化やプロセス改善に成功しても、他チームとの連携や依存関係がある箇所で障害が発生すれば、QA組織全体としての信頼は損なわれてしまいます。 こうした状況下では、QAがリリース直前の門番のような役割に押し込まれ、開発スピードを落とすボトルネックであると周囲から誤解されやすくなります。 各チームの進捗やリスクが統一された指標で可視化されていないため、経営層や他部署に対して品質の状態を論理的に説明することが難しくなるからです。 結果として一度修正したはずのバグが別プロダクトで再発したり、仕様の考慮漏れによる手戻りが増え続けたりといった負のループに陥ります。 場当たり的な対応を繰り返すだけでは、持続可能な品質体制を築くことはできず、マネージャー自身のストレスも蓄積していく一方です。 解決のカギは「開発とテストを同じ場所で管理すること」 バラバラになった品質を統合し全体最適を実現するためには、要件定義・バグ管理・テスト管理をすべて同じ基盤の上で扱うことが不可欠です。 開発者が日常的に使用するJiraを品質のハブとして機能させることで、開発プロセスの中にテストを自然に組み込むことが可能になります。 要件という入り口から、テスト実施、バグ修正、そして最終的な品質承認という出口までが一気通貫でつながることで、初めて情報の透明性が確保されます。 Jiraを基盤とした連携を行うことで、プロダクトを横断した品質状況をリアルタイムで可視化できるようになります。 これは、複数のマイクロサービスやプロダクトを管理する立場において、どこのリスクが高く、どこにリソースを集中させるべきかを判断するための重要なコンパスとなります。 開発とテストが同じ言葉、同じツールの上で語られるようになれば、QAは単なる検査工程ではなく、プロダクトの価値創出を支える中核として機能し始めます。 ツールによる情報の統合は、属人化を排除し、組織全体で品質を担保するための強固な土台となるはずです。 Jira連携のテスト管理ツールとは?QAの仕事がどう変わるのか Jiraとテスト管理ツールを連携する基本構造 メガベンチャーのようなスピード感のある開発現場において、Jiraはすでにタスク管理や進捗確認の標準的なプラットフォームとなっています。 Jira連携のテスト管理ツールとは、このJiraの内部にテスト管理の機能を組み込んだり、APIを通じて高度に同期させたりする仕組みを指します。 具体的には、Jira上のユーザーストーリーや課題に対して、直接テストケースを紐付けることが可能になります。 これにより、開発者が実装している機能が、どのようなテストによって担保されるのかを、誰もが同じ画面上で確認できるようになります。 この連携の核心は、要件からテスト、そしてバグ発見に至るまでのトレーサビリティ(追跡可能性)が確保される点にあります。 従来のようにテスト結果を別途Excelにまとめたり、報告会議を開いたりする必要はありません。 テストが実行されると、その結果はリアルタイムでJira上の課題ステータスに反映されます。 QAマネージャーにとっては、現場に細かくヒアリングしなくても、ダッシュボードを見るだけで各プロダクトの品質状況が手に取るようにわかるようになります。 この構造こそが、情報分断による「見えないリスク」を解消する第一歩となります。 Jira連携で実現できる3つの品質管理 Jiraとの連携によって実現する品質管理は、主に3つの側面でQAの専門性を強化します。 1つ目は、要件とテストケースの完全な紐付けです。 仕様変更が頻繁に起こる環境でも、どの要件に対してテストが不足しているかを瞬時に特定できるため、網羅性の欠如を防ぐことができます。 2つ目は、テスト実行状況のリアルタイムな可視化です。 スプリントの後半にテストが集中してパンクするといった予兆を早期に察知し、リソースの再配置やリリース判断の根拠として活用できるようになります。 3つ目は、不具合とテスト結果の強力な連動です。 テスト中に発見されたバグは、その場でJiraのチケットとして起票され、失敗したテストステップやエビデンスが自動的に添付されます。 これにより、エンジニアは「再現手順がわからない」というコミュニケーションロスから解放され、修正作業に集中できます。 また修正完了後の再テストも、元のテストケースから直接実行できるため、不具合修正のサイクルが劇的に加速します。 これらの管理手法は、QAが単なる「テスター」から、データの裏付けを持った「品質のナビゲーター」へと進化するために欠かせない要素です。 なぜアジャイル開発と相性が良いのか アジャイル開発においてQAが直面する最大の課題は、開発のスピードにテストが追いつかず、QA工程が最後の方でボトルネックになってしまうことです。 Jira連携ツールを導入することで、スプリント単位でのテスト管理が容易になります。 開発と並行してテスト設計を進め、ストーリーが完成した瞬間にテストを開始できる体制が整うためです。 さらに、多くのツールはCI/CDパイプラインとの連携機能を備えています。 自動テストの結果がJiraに自動投稿される仕組みを構築すれば、手動テストと自動テストの結果を一元管理できるようになります。 このような環境が整うとQAは開発プロセスの「後付け」ではなく、設計段階から品質に関与する「組み込み型」の存在へと変わります。 開発者もPdMも、Jiraという共通言語を通じて品質に向き合うようになり、チーム全体で品質を担保する文化が醸成されます。 QAマネージャーが目指すべき全体最適とは、一部のプロフェッショナルが頑張る姿ではなく、仕組みによって誰もが一定以上の品質を維持できる状態です。 Jiraを軸としたテスト管理の統合は、その持続可能な品質体制を築くための、最も現実的かつ強力な手段といえるでしょう。 Jira連携テスト管理ツールの代表例 Jiraネイティブ型ツール Jiraネイティブ型ツールは、Jiraのアドオンやアプリとして提供され、Jiraの画面内でテスト管理の全工程を完結できるのが最大の特徴です。 代表的なものには、高いカスタマイズ性を誇るXrayや、古くから親しまれているZephyr、シンプルで導入しやすいTest Management for Jiraなどが挙げられます。 これらのツールを導入すると、Jiraの課題(Issue)タイプの一つとしてテストケースやテスト実行が定義されるため、開発者が普段使っている操作感そのままにテスト管理を統合できます。 最大のメリットは、Jiraの課題管理とテストケースを直接、かつ強力に紐付けられる点です。 要件定義のストーリーに対して、どのテストが紐付いているかが一目で確認でき、テスト結果がそのままストーリーの進捗に反映されます。 QAマネージャーにとっては、開発とテストの境界線を取り払い、同じプラットフォーム上で品質を議論できる環境を構築できることが、全体最適に向けた大きな一歩となります。 データの同期設定や外部ツールへのログインといった手間が発生しないため、現場のエンジニアにとっても導入のハードルが低く、情報の入力漏れを防ぎやすい構造になっています。 外部プラットフォーム型ツール 外部プラットフォーム型ツールは、独自のサーバーやクラウド基盤で動作し、JiraとAPIなどで高度に連携するタイプです。 PractiTest、qTest、ONES TestCaseなどがその代表例であり、Jiraネイティブ型よりも専門的なテスト管理機能や、大規模組織向けの管理機能が充実している傾向にあります。 これらはJiraの外部で動作しながらも、特定のバグチケットをJiraに自動起票したり、Jira側のステータスを読み取ったりすることが可能です。 メガベンチャーにおいて、マイクロサービスごとに異なる開発フローを採用していたり、テスト資産が膨大でJiraのパフォーマンスへの影響を避けたい場合に有効な選択肢となります。 外部型は、複数のプロジェクトをまたいだテスト資産の再利用や、より高度なクエリを用いたテストセットの抽出に強みを持っています。 Jiraをタスク管理のハブとしつつ、テストの専門的な実行管理や分析は特化型ツールで行うという「役割分担」を明確にしたい組織に向いています。 QAマネージャーが複雑なマトリックス組織を統括する際、各チームの独立性を保ちつつ、品質データだけを中央集約的に管理する柔軟な運用を実現できます。 ツールを選ぶときの判断ポイント 適切なツールを選定する際は、まず管理すべきプロダクト数とチーム数、そして組織の将来的な拡大予測を考慮する必要があります。 少数のチームであればJiraネイティブ型で十分なスピード感を得られますが、数十のマイクロサービスを横断して品質基準を統一したい場合は、スケーラビリティに優れたツールが求められます。 また現場の属人化を排除し、持続可能な体制を築くためには、手動テストだけでなく自動テストとの連携がいかにスムーズに行えるかも重要なチェックポイントです。 CI/CDパイプラインと直結し、自動テストの結果が自動的にJiraやテスト管理ツールへ集約される仕組みが、QAのボトルネック解消に直結します。 さらに経営層やPdMに対して「現在の品質は安全か」を論理的に説明するためには、レポーティングと品質分析の機能が欠かせません。 要件ごとのテストカバー率や、不具合の収束状況、テスト実行の成功率などが、加工なしでリアルタイムに可視化されるツールを選ぶべきです。 単なる作業記録のツールではなく、意思決定を支えるデータプラットフォームとして機能するかどうかが、QAマネージャーとしての評価や事業成長への貢献度を左右します。 メガベンチャーQAが設計すべき「品質の全体最適アーキテクチャ」 QAをプロダクト横断の仕組みにする 急成長を遂げるメガベンチャーにおいて、各チームが独自の文化を持つことは強みですが、QAに関してはチーム専属の属人的な活動に閉じ込めてしまうと、組織全体の品質にばらつきが生じます。 QAマネージャーが取り組むべきは、QAを特定のチームの所有物にするのではなく、プロダクトを横断する「仕組み」へと昇華させることです。 これは現場の裁量を奪うことではなく、品質の共通ルールを策定し、どのプロダクトであっても一定の信頼性を担保できる土台を作ることを意味します。 具体的にはテスト計画の策定基準や不具合の優先度定義など、最小限守るべき標準ガイドラインを定義します。 その上でJira等のツールを活用して各チームの状況を一元的に俯瞰できる横断ダッシュボードを設計します。 これにより、特定のマイクロサービスで発生した品質低下の予兆を早期に検知し、組織全体のリソースを最適に配分することが可能になります。 部分最適の積み上げでは到達できない「組織としての品質レベル」の底上げは、こうした横断的なアーキテクチャ設計から始まります。 Jiraを品質データのハブにする 品質の全体最適を実現するためには、情報の断絶を解消し、Jiraをあらゆる品質データのハブとして機能させることが重要です。 単なるタスク管理ツールとしてではなく、要件、テスト、バグ、そしてリリースの4つの要素を1つの流れるようなプロセスとして管理する体制を構築します。 Jira上で定義された要件(ユーザーストーリー)に対して、テスト管理ツールで作成されたテストケースが直接紐付き、さらにそのテストから発見されたバグが起票されるという、完全なトレーサビリティを確保します。 この一気通貫の管理によって、どの要件がテストを通過し、どのバグがリリースのブロック要因になっているのかがリアルタイムで可視化されます。 リリース判断の際にも、感覚的な「大丈夫だろう」という判断ではなく、データに基づいた客観的な根拠を示すことができます。 開発からリリースまでのライフサイクルをJiraという共通基盤に集約することで、QAは情報の収集に追われる日々から解放され、より本質的な品質向上施策やリスク分析に時間を割くことができるようになります。 品質を経営指標として扱う QAマネージャーが経営層やPdMと対等に会話をし、品質の重要性を組織に浸透させるためには、品質を技術的な結果ではなく「経営指標」として再定義する必要があります。 現場レベルの不具合報告に留まらず、リリース後の不具合流出率(defect leakage)や、ビジネス要件に対するテスト網羅率(test coverage)、そしてリリースの安定性を示す指標(release quality)などを定量的に算出する仕組みを整えます。 Jiraとテスト管理ツールを連携させていれば、これらの指標は自動的に集約され、ダッシュボード上で常に最新の状態が保たれます。 たとえば「テストカバー率が一定基準を下回っているため、リリースの事業リスクが高い」といった論理的な提言が可能になり、QAの取り組みが事業成長のブレーキではなく、予測可能性を高めるための投資であると社内で認識されるようになります。 経営と同じ言葉で品質を語ることで、QA組織の市場価値を高め、持続可能な品質推進体制を強固なものにしていけます。 QAマネージャーが最初にやるべき「Jira連携テスト管理の導入ステップ」 STEP1:テスト資産を棚卸しする 組織全体の最適化を目指すにあたって、まず着手すべきは現状の把握、すなわちテスト資産の棚卸しです。 メガベンチャーの現場では、長年使い古されたExcelのテストケース、特定のチームだけで運用されている独自の管理ルール、さらには個別に構築された自動テスト群など、情報が各所に散在しています。 これらをそのままJira連携ツールへ移行するのではなく、まずは何がどこに、どのような形式で存在するのかを整理します。 この工程では、既存のテストケースが最新の仕様を反映しているか、重複や形骸化した項目がないかを精査することが重要です。 特にチームごとにバラバラだった不具合の定義やテスト実施の判定基準を、共通の語彙で再定義する準備を進めます。 自動テストについては、どの範囲をカバーしており、どのような形式で結果が出力されるのかを確認しておきます。 これらすべての資産を可視化することで、ツール導入時に「どのデータを共通基盤に載せ、どの属人的な運用を廃止するか」という判断基準が明確になります。 STEP2:品質フローを定義する 次に、Jiraを中核とした新しい品質フローを定義します。 単にツールを導入するだけでなく、要件定義からテスト設計、実施、不具合起票、そしてリリース判定に至るまでの一連の流れを、Jiraのチケットステータスとどう連動させるかを設計します。 例えば、Jiraのユーザーストーリーが「開発中」から「テスト可能」に遷移したタイミングでテスト管理ツール側に通知が飛ぶ、あるいはテストがすべてパスしなければリリース用のチケットを完了にできないといったガードレールの設置を検討します。 ここで鍵となるのは、Jiraチケットとテストケースの紐付けルールを厳格に決めることです。 どのレベルの課題に対してテスト結果をエビデンスとして残すのかを明確にすることで、後からのトレーサビリティ確保が容易になります。 現場の負担を最小限に抑えつつも、マネージャーが俯瞰した際に「どの要件の品質が担保できているか」が直感的にわかるフローを構築することが、全体最適への近道となります。 STEP3:まず1プロダクトで試す 大規模な組織ほど、一斉導入は現場の反発や混乱を招き、失敗のリスクが高まります。 そのため、まずは特定の一つのプロダクトやチームを選び、スモールスタートで実績を作ることが肝要です。 対象とするチームには、新しい仕組みに理解があり、推進力となる「QAチャンピオン」を配置します。 現場に近いリーダーが主体となって運用を回すことで、設計段階では見えてこなかった細かな課題や、Jira連携における設定の不備を早期に洗い出すことができます。 このスモールスタートの目的は、単なるツールの試行ではなく、成功事例という「動かぬ証拠」を作ることです。 「Jiraと連携したことで報告業務がこれだけ減った」「不具合の修正速度が上がった」といった具体的な成果を数値化し、横展開の際の説得材料にします。 一つのチームで運用が安定し、周囲から「あのチームのやり方は効率が良い」と認知される状態を作ることが、組織全体の文化を変える強力なエンジンとなります。 STEP4:品質を横断可視化する 導入が各プロダクトへ広がり始めたら、最終ステップとして品質の横断的な可視化を実現します。 Jiraのダッシュボード機能を活用し、各プロダクトのテスト進捗状況や、未解決の重要不具合数、リリースごとの合格率などをリアルタイムで表示するレポートを作成します。 これにより、QAマネージャーは現場への細かなヒアリングに時間を割くことなく、データに基づいた客観的なリスク判断を下せるようになります。 さらに重要なのは、これらのデータを経営層やPdMへのレポーティングに活用することです。 専門的なテスト用語を排し、事業リスクやリリース品質といったビジネスインパクトに直結する指標で状況を報告することで、QA活動の価値が正しく評価される土壌を築きます。 属人化から脱却し、誰が見ても現在の品質状況が正しく伝わる仕組みを完成させることで、QAは「リリースを止める部署」から「リリースの確実性を高めるパートナー」へとその立ち位置を変えることができるでしょう。 まとめ メガベンチャーにおけるQAの役割は、単なる「不具合の検知」から「事業成長を加速させるための品質ガバナンス」へと変革を求められています。 チームごとに分断されたテスト管理をJiraという共通基盤に統合することは、情報の透明性を高めるだけでなく、属人化を排除し、持続可能な品質体制を築くための唯一無二の手段です。 Jira連携によるトレーサビリティの確保、リアルタイムな可視化、そして経営指標としてのデータ活用。 これらを実現することで、QAマネージャーは論理的な根拠に基づいた意思決定が可能になり、現場・経営層双方から厚い信頼を得られるようになるはずです。 まずは一つのプロダクト、一人のQAチャンピオンとともに、スモールスタートから「品質の全体最適」への第一歩を踏み出してみませんか。 その積み重ねが、組織全体の開発スピードと品質を両立させ、QAとしての市場価値を最大化させる鍵となるでしょう。 Jira連携できるテスト管理ツールならPractiTest Jiraを中心に品質管理を統合するなら、Jiraと高度に連携できるテスト管理ツールの導入が重要です。 なかでもPractiTestは、Jiraとの双方向連携に対応したテスト管理プラットフォームとして、多くの開発組織で活用されています。 Jiraの課題とテストケースを紐付けることで、要件・テスト・不具合のトレーサビリティを確保し、開発とQAが同じ情報基盤の上で品質を管理できるようになります。 さらに、Jiraと同期したテスト結果の可視化やレポート機能により、複数プロダクトの品質状況を横断的に把握することも可能です。 既存のJira運用を大きく変えることなく導入できるため、分断されたテスト管理を統合し、組織全体の品質を可視化したいメガベンチャーのQA組織にとって有力な選択肢といえるでしょう。 QA業務効率化ならPractiTest テスト管理の効率化 についてお悩みではありませんか?そんなときはテスト資産の一元管理をすることで 工数を20%削減できる 総合テスト管理ツール「 PractiTest 」がおすすめです! PractiTest (プラクティテスト) に関する お問い合わせ トライアルアカウントお申し込みや、製品デモの依頼、 機能についての問い合わせなどお気軽にお問い合わせください。 お問い合わせ この記事の監修 Dr.T。テストエンジニア。 PractiTestエバンジェリスト。 大学卒業後、外車純正Navi開発のテストエンジニアとしてキャリアをスタート。DTVチューナ開発会社、第三者検証会社等、数々のプロダクトの検証業務に従事。 2017年株式会社モンテカンポへ入社し、マネージメント業務の傍ら、自らもテストエンジニアとしテストコンサルやPractiTestの導入サポートなどを担当している。 記事制作: 川上サトシ (マーケター、合同会社ぎあはーと代表)
.entry .entry-content .table-of-contents > li > ul { display: none; } はじめに こんにちは、グローバルシステム部フロントエンドブロックの林です。 私が所属するチームでは ZOZOMETRY というBtoBサービスを開発しています。スマートフォンで身体を計測し、計測結果を3Dモデルやデータとして可視化・Web上で管理できるサービスです。 私たちのチームではAIにユニットテストを書かせ、マージまでの過程を改善する施策を実施しました。結果としては、2か月でテスト数が57%増え、カバレッジは約2倍になりました。 この取り組みはテストを増やすという面ではうまくいきましたが、AIが書いたコードを人間がどうレビューするかという点で、いくつかの壁にぶつかりました。 この記事では、以下の点を紹介します。 AIが書いたテストコードを素早くレビューするために、どのような仕組みを設計したのか 運用する中でどのような課題が見えてきて、どう対処したのか AIと協業する開発フローにおいて、人間が関与すべきポイントはどこだったのか 目次 はじめに 目次 背景と課題 テスト生成の仕組み Claude Codeコマンドの設計 統一フォーマット describeのネスト構造 テスト名と日本語コメント テスト対象ごとの実装パターン テストサマリの付与 成果 運用で見えた課題 AIの生成速度と人間のレビュー速度のミスマッチ 「ノールックでマージするのは怖い」 「インプットとアウトプットだけ見ればいい」仮説の崩壊 課題への対策 サマリの自動生成でレビューの入口のハードルを下げる 粒度の制御でレビュー1回あたりの負荷を下げる 目視確認のプロセス化 振り返り:AI協業における人間の関与ポイント AI生成コードのレビューで人間が見るべき範囲 生成速度とレビュー速度のバランス設計 導入コストを下げるアプローチ まとめ 背景と課題 私たちのチームでは、機能開発を優先するあまりテストが慢性的に不足しており、以下のような課題が続いていました。 品質管理はQAチームに大きく依存している状態 テスト作成の品質や粒度にばらつきがある テストの目的や内容を理解するためのドキュメントが十分に整備されておらず、「このテストは何を守っているのか」を説明しにくい 施策の開始時点でのテスト数は324件、カバレッジは4.72%でした。 この状況を改善するにあたって、いくつかの選択肢がありました。人手でテストを書くのが最も確実ですが、機能開発と並行して進めるリソースがありませんでした。AIにテストを生成させれば速度は出ますが、品質の保証は未知数です。 結果として、AIにテストコードを生成させ、人間がレビューする体制を選びました。とはいえ、最初からAIに品質を丸投げできるとは考えていませんでした。この実験にはもう1つの目的がありました。AIと協業するうえで、人間が関与すべきポイントはどこなのか。それを見出すための取り組みでもあったのです。 テスト生成の仕組み テスト生成の仕組みを以下の3点で構成しました。 Claude Codeコマンドによるテスト生成の定型化 統一フォーマットによるテスト構造の標準化 テストサマリの自動付与 Claude Codeコマンドの設計 Claude Codeのカスタムコマンド /create-unit-test を作成しました。このコマンドは対象ファイルのパスを受け取り、以下のワークフローを順に実行します。 対象ファイルの分析 :ファイルタイプ(フック / ユーティリティ / ストア / コンポーネント)を特定し、エクスポートされる関数の一覧や依存関係を把握する テスト設計書の作成 : docs/test-design/ にテスト設計書を生成し、テストケースを正常系・異常系・エッジケースに分類する テストファイルの作成 :設計書に基づいてテストコードを test/unit/ に配置する テスト実行と検証 : pnpm test でテストを実行し、カバレッジを確認する テストサマリの記録 : docs/test-summaries/test-summary.md にテスト内容を追記する # 実行例 /create-unit-test hooks/useClientData.ts /create-unit-test utils/detectGender.ts 各ステップでユーザーの承認を挟む設計にしています。AIに一気に生成させるのではなく、分析→設計→実装→検証の各段階で人間が判断する余地を残しました。 コマンドの設計で重視したのは再現性です。誰が実行しても同じ粒度・同じ構造のテストが生成されることで、レビューする側の認知負荷を一定に保つことを狙いました。 統一フォーマット 生成されるテストの構造を揃えるために、以下のルールを定めました。 describeのネスト構造 テスト対象の関数ごとに describe をグループ化し、その中を Success case / Error case / Edge cases に分類します。 describe ( 'useCreateClient' , () => { describe ( 'Success case' , () => { ... } ); describe ( 'Error case: Argument problems' , () => { ... } ); describe ( 'Error case: Response errors' , () => { ... } ); describe ( 'Edge cases' , () => { ... } ); } ); この構造が揃っていることで、レビュアは「このテストはどの分類のケースを見ているのか」をコードの構造から即座に判断できます。 テスト名と日本語コメント テスト名は should [期待される動作] の形式で統一しました。加えて、各 describe や it の前に日本語コメントを付けることで、テストの意図をコードを読み込まずとも把握できるようにしています。 // 性別判定機能のテスト describe ( 'detectGender' , () => { // 男性の場合、正しいメッセージを返すことを確認 it ( 'should return the correct message for MALE' , () => { expect (detectGender( 'MALE' )).toEqual( 'Male' ); } ); } ); テスト対象ごとの実装パターン 対象のファイルタイプに応じて、テストの書き方を使い分けています。テストケースが少ないフックには renderHook を使い、セットアップを簡潔に保ちます。テストケースが多いフックには直接呼び出しと describe のネストを組み合わせ、テストケースごとの独立性を確保します。ユーティリティ関数は入力と出力の対応を直接検証し、Zustandストアは act で状態更新をラップすることでReactの非同期性に対応しています。 この使い分けもコマンド側で自動的に判断するため、生成されたテストのパターンがばらつくことを防いでいます。 テストサマリの付与 テスト実行後、 docs/test-summaries/test-summary.md にサマリを追記する仕組みを導入しました。サマリには以下の情報を含めています。 テスト対象ファイルとタイプ テスト内容:関数シグネチャと、どの分類(正常系・異常系・エッジケース)をテストしたか テスト結果:成功数 / 全体数 以下は実際のサマリの例です。 ## ` utils/fileName.ts ` - 2025-12-04 14:28:00 **タイプ**: ユーティリティ **テストファイル**: ` test/unit/fileName.test.ts ` ### テスト内容 - ` getDisplayFileName(name, maxLength?, headLength?): string ` - 正常系(短い/長いファイル名、デフォルトパラメータ、境界値)、エッジケース(空文字列、日本語) - ` isValidFileName(name, maxLength?, includeExtension?): boolean ` - 正常系(英数字・日本語・記号)、異常系(不正な拡張子、長さ超過)、エッジケース(複数ドット、最小長) **結果**: ✅ 全テスト成功 (32/32) このサマリはPRのレビュー時にも参照します。レビュアはまずサマリを読んでテストの全体像を把握した後で、実際のコードに問題点がないかを確認するフローにしました。 成果 2か月の実施期間で、ユニットテスト数は324件から509件へ57%増加しました。カバレッジは4.72%から9.25%へ、約2倍に改善しています。 定量的な成果に加えて、以下の定性的な改善もありました。 テスト設計書とサマリが蓄積されたことで、テストの目的やカバー範囲をチーム全体で把握できるようになった テストの構造が統一されたことで、レビュー時に「何を見ればいいか」が明確になった 既存テストの品質を見直すきっかけにもなった 運用で見えた課題 成果は出ましたが、運用する中でレビュー面の課題が顕著になりました。課題の本質は「AIの出力品質」ではなく、正しいと判断するための「検証コスト」にありました。 AIの生成速度と人間のレビュー速度のミスマッチ AIによりPull Request(以下PR)の生成時間が大幅に短縮されたため、未レビューのPRが溜まるようになりました。PRを作った側にはレビュー依頼やリマインドへの心理的障壁が生まれました。レビューする側も次々と届くPRにプレッシャーを感じる状態でした。この状態でチームの生産性を最大化するのは難しいものでした。 「ノールックでマージするのは怖い」 AIが書いた、品質に直結する部分のコードをノールックでマージするのは怖いと感じました。チームで話し合った結果、人間が差分を目視で確認することにしました。 しかし目視確認にも課題が隠れていました。PRの粒度が大きくなりがちで、人間の認知負荷が増加したのです。 「インプットとアウトプットだけ見ればいい」仮説の崩壊 CI/CDで実行を管理しているので、変更されたコードを見なくてもインプット(プロンプト)とアウトプット(テスト実行結果)だけ確認すればいいのではないか。そういった仮説を立てました。 しかし現実には、インプットが本当に期待しているインプットなのかを判断するためのコンテキストが属人化していました。設計や詳細なコードを把握していないメンバーは自力で調査する時間が増え、かえって非効率になりました。この状態を改善しなければ、サービスの品質向上や本質的な改善は難しい状況でした。 課題への対策 これらの課題に対して、3つの施策で対処しました。 サマリの自動生成 AIにプランニングさせ粒度を制御する仕組み 人間が差分を目視で確認するプロセスを明示的に残す サマリの自動生成でレビューの入口のハードルを下げる テストされている箇所の設計や実装を把握していないメンバーでもレビューに入りやすくすることを目的としています。前述のサマリを活用したレビューフローを通じて、不慣れな領域でもテストの全体像をあらかじめ把握した状態でコードレビューへ臨めるようにしました。 これにより、不慣れな領域のレビューに対する心理的障壁を軽減し、迅速にレビューへ入れるようになりました。 粒度の制御でレビュー1回あたりの負荷を下げる コマンド実行時、どの範囲のテストを作成するかAIへプランニングさせる仕組みにしました。PRサイズは100行程度を目安に設定しています。 テストカバレッジを一度に大きく上げたくなりますが、レビューする側の認知負荷を超えないことでレビューに臨むハードルを下げることができました。 目視確認のプロセス化 「ノールックでマージしない」というチームの方針に基づき、人間が差分を目視で確認するプロセスを明示的に残しました。AIの出力を無条件に信頼するのではなく、品質の最終判断は人間が担う体制です。 これらの改善施策により、レビューまでのリードタイムが減りメンバーの心理的な負担も少なくなりました。 振り返り:AI協業における人間の関与ポイント この実験を通じて、AIと協業する開発フローにおけるいくつかの知見が得られました。 AI生成コードのレビューで人間が見るべき範囲 「インプットとアウトプットだけ見ればいい」という仮説は成立しませんでした。コンテキストの共有が前提条件として必要であり、それが属人化している状態では、コードの差分を目視で確認する以外に品質を担保する手段が見つかりませんでした。 チームが出した結論は「差分のコードを目視で確認するのは、やはり人間が担当すべき」というものです。レビューのコストが上がる課題は引き続き残りますが、品質の担保を優先しました。 生成速度とレビュー速度のバランス設計 AIの生成速度に人間が追いつけない構造的な問題に対しては、生成側で粒度を制御することが有効でした。レビュー側の運用を変えるのではなく、生成側の出力を調整するアプローチです。 導入コストを下げるアプローチ 完全に新しいプラクティスを一から導入するのはコストが高いため、現行の開発フローをコンポーネント化し、AIに任せられる部分だけを切り出すアプローチを取りました。大きく変えるのではなく、今あるものの一部を置き換えていく形です。 まとめ AIにテストコードを生成させる施策を通じて、テスト数を57%増やし、カバレッジを約2倍に改善しました。一方で、運用面の課題も見えてきました。AIの生成速度に人間のレビューが追いつかないこと、コンテキストの属人化によりインプット/アウトプットだけでは品質を担保できないことです。 これらの課題に対しては、サマリの自動生成と粒度の制御という仕組み側の改善で対処しました。しかし「人間が差分を目視で確認する」という部分は残しています。ここを自動化できる条件は、まだ見出せていません。 AIと協業する開発フローにおいて、人間が関与すべきポイントはどこなのか。この問いに対する私たちの暫定的な答えは、「コードの差分を確認し、品質を判断すること」です。この判断を下せるのは、コードを書いてきた経験の上に成り立つ審美眼があるからだと考えています。 ZOZOでは、一緒にサービスを作り上げてくれる方を募集中です。ご興味のある方は、以下のリンクからぜひご応募ください。 corp.zozo.com
急成長を遂げるメガベンチャーの現場において、リリース速度と品質の両立は常に最大の課題です。 複数のチームが並走し、マイクロサービス化が進む中で、 「チームごとに品質基準がバラバラで手戻りが多い」 「QAが最終工程でボトルネックになっている」 といった壁に直面していないでしょうか。 これらの問題の根源は、コードレビューとテストが「別物」のプロセスとして分断されていることにあります。 場当たり的な個別最適の改善では、組織全体の品質を底上げすることは困難です。 そこで今回はQAマネージャーや品質推進リードが、コードレビューとテストを密接に連携させることで「全体最適」を実現するための手法を解説します。 属人化を排除し、論理的かつデータに基づいた品質体制を築くことで、QAが単なる「確認役」から事業成長を支える「価値の設計者」へと進化するための道筋を示します。 import haihaiInquiryFormClient from "https://form-gw.hm-f.jp/js/haihai.inquiry_form.client.js";haihaiInquiryFormClient.create({baseURL: "https://form-gw.hm-f.jp",formUUID: "927d2c4e-f06c-45b1-bd36-0240e55ccf72",}) ▼テスト計画・テスト設計についてはこちら▼ テスト設計とは?その流れや具体的なコツを徹底解説! なぜコードレビューとテストを「別物」のままにしてはいけないのか QAマネージャーとして全体最適を目指すのであれば、まずこの二つの境界線をなくし、密接に連携させる仕組みを構築することが急務といえます。 チームごとに品質基準が違うと何が起きるのか 複数のプロダクトやチームが並走する環境において、品質基準が統一されていないと、まずコードレビューの観点が属人化するという問題に直面します。 あるチームではアーキテクチャの妥当性を厳しく問い、別のチームでは命名規則などの表面的な指摘に終始するといった粒度のばらつきは、リリースされるコードの信頼性を不安定にします。 このような状況では、テスト設計も必然的に「実装が終わった後の確認作業」という後追いになりやすく、上流工程での考慮漏れがテスト段階で初めて発覚する事態を招きます。 その結果、修正コストが膨らむだけでなく、リリース直前の手戻りや本番障害の増加という悪循環に陥ります。 さらに深刻なのは、エンジニア間で「レビューは通ったはずなのに、なぜテストで不具合が出るのか」という相互不信が広がり、品質に対する責任の所在が曖昧になってしまうことです。 レビューとテストを分断すると全体最適が崩れる理由 マイクロサービス化が進むシステム群において、レビューとテストの分断は、サービスごとの品質の考え方に致命的なズレを生じさせます。 特定の機能単体では動作しても、サービス間の連携や非機能要件に対する認識が異なれば、システム全体としての整合性は保てません。 このズレを埋めるためにQAチームが「最後の砦」として全ての負荷を引き受けることになれば、QA工程そのものが開発全体のボトルネックとなり、ビジネスの成長スピードを阻害してしまいます。 またプロセスが分断されていると、経営層に対して品質の状況を説明する際にも支障をきたします。現場では個別のバグ数や指摘数といったミクロな数字が踊る一方で、経営層が求める「事業成長に耐えうる品質か」というマクロな問いに答えるための言葉が噛み合わなくなるからです。 レビューとテストを統合的に捉える視点がなければ、品質を付加価値として定義し直すことは難しく、組織的な改善の機運も削がれてしまうのです。 レビューとテストをつなぐ「共通のものさし」をつくる 個別のチームが最適だと思う手法をバラバラに実施している状態では、組織全体の品質レベルを一定に保つことは困難です。 そこで重要になるのが、コードレビューとテストという二つの工程を孤立させず、共通の評価軸でつなぐ「ものさし」の導入です。 レビュー観点をテスト観点に翻訳する コードレビューで指摘される内容は、しばしば特定のコードの書き方や局所的なロジックに終始しがちです。 これをテスト工程でも活用できる「品質の資産」に変えるためには、レビュー観点をテスト観点へと翻訳する作業が欠かせません。 例えばレビュー時に「境界値の考慮が漏れている」という指摘があった際、それを単なる修正で終わらせず、仕様の抜け漏れを洗い出すための共通チェックポイントとして整理し直します。 また、マイクロサービスが乱立する環境では、一つの変更がどこまで影響を及ぼすかという判断基準をチーム横断で揃えることが不可欠です。 「なぜその指摘をしたのか」という背景や意図を言語化し、ドキュメントやツール上でナレッジ化する仕組みを整えることで、レビューの知見がそのままテストシナリオの補強材料へと変わります。 これにより、レビューで見つかった懸念点がテストで確実に検証されるという、工程間のシームレスな連携が実現します。 全チームで使えるシンプルな品質フレーム メガベンチャーのような規模感では、全てのチームにガチガチの規約を強いることは現実的ではありません。 求められるのは、各チームの独自性を尊重しつつも、組織としての軸がぶれないシンプルな品質フレームです。 まずは、プロダクト横断で「今、何を最優先で守るべきか」という品質の優先順位を定義します。 セキュリティなのか、パフォーマンスなのか、あるいはユーザー体験の継続性なのか。この軸が定まることで、レビューとテストの注力ポイントが自ずと一致します。 さらに、全てのコードを均一に扱うのではなく、変更内容や機能の重要度に応じたリスクベースの考え方を取り入れます。 リスクが高い変更に対してはレビューとテストの両面で厚く保護し、そうでないものは自動化に任せるといった強弱をつけることで、全体最適を図ります。 チームごとの開発スタイルの差は許容しながらも、最終的な品質の出口戦略だけは揃える設計にすることで、組織が拡大しても破綻しない持続可能な体制が築けます。 ツールとプロセスをどう結びつけるか 共通のものさしを形骸化させないためには、日々の運用ツールとプロセスを密接に結びつける工夫が必要です。 例えばプルリクエスト上でのレビュー結果と、それに対応するテストケースをトレーサビリティとしてひも付ける運用を検討します。 これにより、どのレビュー指摘がどのテストで担保されたのかが可視化され、確認漏れを防ぐことができます。 また本番環境で発生した不具合データやテストで見つかったバグを分析し、それを次回のレビュー観点にフィードバックする循環構造を作ることが重要です。 「不具合から学ぶ」というプロセスを仕組み化することで、レビューの精度は自然と向上していきます。 最終的には、これらの活動を「テストカバレッジ」や「レビュー指摘率」「障害流出率」といった数字で語れる指標として整理します。 感情論ではなく客観的なデータに基づいて品質を語れるようになれば、PdMや経営層との合意形成もスムーズになり、QAが価値創出の中核として認識される道筋が見えてきます。 QAが「確認役」から「価値を生む設計者」へ変わるために QAマネージャーに求められる役割は、単に不具合を見つけることではなく、事業の成長を止めないための「品質の設計者」へとシフトしています。 現場と経営の板挟みに悩む状況を打破するためには、品質をコストではなく、スピードを加速させるための投資として再定義することが第一歩となります。 開発・PdM・経営と同じ言葉で品質を語る メガベンチャーのようなスピード感が求められる環境では、品質の定義が主観的であると、リリース速度を優先する開発やPdMとの対立が避けられません。 これを防ぐためには、リリース速度と品質をトレードオフの関係として捉えるのではなく、両立させるためのロジックを言語化する必要があります。 例えば「レビューの自動化や観点の整理によって、手戻り時間を何%削減し、結果としてリリースサイクルをどれだけ早められるか」といった、ビジネス上のメリットに直結する説明が求められます。 また、投資対効果の視点でレビューとテストを整理することも重要です。 全てのコードに一律の工数をかけるのではなく、リスクの高い基幹機能には厚いレビューと多層的なテストを、周辺機能にはスピード重視の自動テストを割り当てるなど、リソース配分の妥当性を数字で示すべきです。 経営層に対しては「現在の品質への投資が、将来の技術負債をどれだけ抑制し、持続可能な事業運営に寄与しているか」を共通の言葉で語ることで、QAの取り組みが経営判断の重要な一助となります。 場当たり改善から抜け出すロードマップ 属人化や場当たり的な改善を繰り返す状態から脱却し、持続可能な品質体制を築くためには、明確なロードマップに基づいた段階的なアプローチが必要です。 短期的な取り組みとしては、まず各チームでバラバラになっているレビューの最小限のルール化や、重大な不具合を逃さないためのクリティカルなテスト観点の抽出に着手します。 足元の混乱を鎮め、最低限の品質ラインを確保することが、周囲からの信頼を獲得する前提条件となります。 中長期的には、コードレビューそのものがテストの一部として機能するような「文化」の醸成を目指します。 開発者がテストを意識してコードを書き、QAがその設計意図を汲んで高度なシナリオを構築する相互補完的な関係を育てます。 組織が拡大しても破綻しない全体設計には、マイクロサービス単位の自律性を保ちつつも、全社共通の品質メトリクスを監視できる仕組みを組み込むことが不可欠です。 このロードマップを提示することで、目先の不具合対応に追われる日々から抜け出し、本来あるべき戦略的なQA活動へとシフトできます。 次の四半期で取り組む具体アクション 次の四半期を品質改善のターニングポイントにするためには、具体的なアクションプランへの落とし込みが欠かせません。 まずはチーム横断での品質棚卸しワークを実施し、現状のレビュー指摘の内容やテストの実行範囲、過去の障害事例を客観的に可視化します。 これにより、どのチームにどのような課題があるのかをデータに基づいて把握できます。 次に、そこで得られた知見をもとに、レビュー観点の標準化ミーティングを開催します。 各チームのリードエンジニアを巻き込み、共通して守るべき「標準観点」を合意することで、現場の納得感を得ながら改善を進められます。 最後に、これらを統合した新しいテスト戦略を再設計し、全社的なドキュメントとして共有します。 単なる指示書ではなく、なぜこの連携が必要なのかという意図を明確に伝えることで、トップダウンとボトムアップの両面から品質向上のエンジンを回し始めることができます。 まとめ コードレビューとテストを分断せず、一つの連続した品質プロセスとして再定義することは、メガベンチャー規模のプロダクト開発において不可欠な戦略です。 「共通のものさし」を導入し、レビューで得られた知見をテスト観点へと翻訳するサイクルを回すことで、属人化を防ぎ、組織全体の品質レベルを一定に保つことが可能になります。 また、リスクベースの考え方を取り入れたシンプルな品質フレームは、現場の柔軟性を損なうことなく、経営層が求める投資対効果の高い品質管理を実現します。 QAのミッションは、不具合の指摘に留まりません。次の四半期に向けて、チーム横断の品質棚卸しや観点の標準化という具体的な一歩を踏み出し、ビジネスの加速を支える持続可能な品質体制を構築していきましょう。 QA業務効率化ならPractiTest テスト管理の効率化 についてお悩みではありませんか?そんなときはテスト資産の一元管理をすることで 工数を20%削減できる 総合テスト管理ツール「 PractiTest 」がおすすめです! PractiTest (プラクティテスト) に関する お問い合わせ トライアルアカウントお申し込みや、製品デモの依頼、 機能についての問い合わせなどお気軽にお問い合わせください。 お問い合わせ この記事の監修 Dr.T。テストエンジニア。 PractiTestエバンジェリスト。 大学卒業後、外車純正Navi開発のテストエンジニアとしてキャリアをスタート。DTVチューナ開発会社、第三者検証会社等、数々のプロダクトの検証業務に従事。 2017年株式会社モンテカンポへ入社し、マネージメント業務の傍ら、自らもテストエンジニアとしテストコンサルやPractiTestの導入サポートなどを担当している。 記事制作: 川上サトシ (マーケター、合同会社ぎあはーと代表)






















