「テストは完了しました」——外注エンジニアからのこの報告を信じてリリースしたところ、本番環境でバグが噴出してしまった。システム開発を外部に委託している発注担当者であれば、一度は経験したことのある場面ではないでしょうか。慌てて修正を依頼し、原因を問いただしても、外注先からは「指定された範囲はテストしました」という答えが返ってくる。どこにも明確な落ち度がないように見えるのに、結果として品質トラブルが起きている。この居心地の悪さの正体は、多くの場合「テストの品質基準を、誰も明文化していなかった」ことにあります。
こうしたトラブルの原因は、外注エンジニアの怠慢であるとは限りません。むしろ発注者側が「何を、どこまでテストすれば合格なのか」という基準を渡していなかったために、外注先が自分なりの解釈でテストを進めた結果であるケースが少なくありません。発注者は「当然このくらいはやってくれるだろう」と期待し、外注先は「指示された範囲はやった」と認識している。この認識のズレが、リリース後のバグという形で表面化します。
テストの品質を担保する責任は、テストを実行する外注先だけにあるわけではありません。何をテスト対象とし、どんな状態を「合格」とみなすかを定義する責任は、発注者側にもあります。しかし「外注先を選ぶ基準」を解説した記事は多いものの、「選んだ外注先に、テスト要件として何を文書化し、何を要求すればよいか」をまとめた情報は驚くほど少ないのが実情です。テスト・QA の専任者を社内に持たない企業であればなおさら、何から手をつければよいか迷ってしまいます。
本記事では、外注エンジニアにテストを任せる前に発注者が設計すべきテスト要件と品質基準の作り方を、テスト要件定義書の必須項目、バグ密度などの品質指標の数値設計、受け入れテスト(UAT)の合否基準まで、そのまま使える形で解説します。テスト要件定義書のテンプレートや受け入れ基準のチェックリストの雛形も用意しましたので、次の発注からそのまま転用していただけます。
外注先選びはすでに済んでいるという前提で、「選んだ後に発注者が能動的にやるべきこと」に焦点を当てていきます。
なぜ「テストしてください」だけでは外注エンジニアのテスト品質が担保できないのか
外注エンジニアにテストを依頼するとき、「テストもお願いします」「しっかり動作確認してください」という曖昧な指示で済ませてしまうと、いくつかの典型的な失敗が起こります。まずは、なぜ曖昧な依頼が品質トラブルにつながるのか、その構造を整理しておきましょう。
外注へのテスト依頼でよく起きる失敗は、おおむね次の4パターンに分類できます。
- テスト範囲が暗黙の前提でズレる:発注者は「主要機能だけでなく関連機能も含めて」と思っているのに、外注先は「今回改修した箇所だけ」と解釈する。範囲の認識がそろっていないため、テストされない領域が生まれる
- 正常系のみで異常系が漏れる:指示がないと、外注先は「正しく操作したときに正しく動くか」だけを確認しがちです。不正な入力やネットワーク断などの異常系は、明示的に要求しなければテストから抜け落ちます
- 「テスト完了」の定義が共有されていない:何件のテストを、どんな合格条件で実施すれば「完了」なのかが決まっていないため、外注先の「完了しました」と発注者が期待する「完了」が一致しない
- 報告が口頭・チャットで証跡が残らない:「動作確認しました」という一言だけで報告が終わり、どのケースをどう検証したかの記録が残らない。後でトラブルが起きても、何が検証され、何が漏れていたかを追えない
これらはいずれも、外注先の技術力の問題ではなく、発注者と外注先のあいだで「テストの仕様」が言語化されていないことが原因です。本記事の主題は外注の「メリット」を説くことではなく、この「曖昧さ」をどう解消するかにあります。
「テスト完了」の定義が発注者と外注先でズレる構造的な理由
「テスト完了」という言葉は、一見すると客観的な事実のように聞こえます。しかし実際には、その中身は人によって大きく異なります。ある外注エンジニアにとっての「完了」は「自分が想定したケースをひととおり試して問題がなかった状態」かもしれません。別のエンジニアにとっては「仕様書に書かれた機能がすべて動いた状態」かもしれません。
発注者が期待する「完了」は、多くの場合「実際の業務で使ってもトラブルが起きない状態」です。ところが、この期待は発注者の頭の中にあるだけで、外注先には伝わっていません。「どのケースをテストすれば完了とみなすか」という合格条件を明文化しない限り、両者の「完了」は永遠に一致しないのです。
品質トラブルの責任の所在が曖昧になる仕組み
テスト要件を曖昧にしたまま発注すると、品質トラブルが起きたときに責任の所在がはっきりしなくなります。発注者は「テストを任せたのだから外注先の責任だ」と考え、外注先は「指示された範囲はテストした。指示がなかった部分まで責任は負えない」と主張する。どちらの言い分にも一理あり、結局うやむやになってしまいます。
ここで重要なのは、テスト要件を発注者が定義していなかった場合、その曖昧さの責任は発注者側にも生じうるという点です。逆に言えば、テスト要件を明確に文書化して合意しておけば、「合意した基準を満たしていない」という客観的な事実をもとに、外注先に改善を求められます。責任範囲を明確にするためにも、テスト要件の文書化は発注者にとって自衛の手段になります。
テスト工程で発注者がやるべきこと・外注先に任せること
「テスト品質を発注者がコントロールすべき」と言われると、「では発注者がテストを実装するのか」と身構えてしまうかもしれません。しかし、発注者がすべてを抱え込む必要はありません。重要なのは、テストの全工程の中で「発注者が定義・要求する側」と「外注先が実行する側」の役割をはっきり分けることです。
テストは大きく、テスト計画 → テスト設計 → テスト実施 → 受け入れテストという流れで進みます。それぞれの工程で、発注者と外注先がどう関わるかを整理してみましょう。
テストの4工程と各工程の役割分担
工程 | 主な成果物 | 発注者の関与 | 外注先の役割 |
|---|---|---|---|
テスト計画 | テスト要件定義書・テスト計画書 | テスト範囲・観点・合格条件を定義して提示する | 提示を受けて実行可能な計画に落とし込む |
テスト設計 | テスト仕様書・テストケース | 設計の網羅性をレビューする | 要件に基づき具体的なテストケースを設計する |
テスト実施 | テスト結果報告・バグ票 | 進捗と結果報告を確認する | テストを実行し、結果と証跡を記録する |
受け入れテスト(UAT) | 受け入れ基準チェックリスト・合否判定 | 業務シナリオで検証し合否を判定する | 指摘されたバグの修正・再テストに対応する |
この表からわかるとおり、発注者が手を動かして実装するのは、最後の受け入れテスト(UAT)における業務シナリオの検証くらいです。それ以外の工程では、発注者は「定義する」「レビューする」「確認する」という立場で関与します。テストケースを書いたりテストツールを操作したりといった実装作業は、外注先に任せて構いません。
発注者が握るべき2つのゲート
数ある関与ポイントの中でも、発注者が必ず握っておくべき「ゲート(関門)」が2つあります。
ひとつは、入口のゲートである「テスト要件の提示」です。テストを始める前に「何を、どんな観点で、どこまでテストすれば合格か」を文書で渡しておくこと。ここを外注先任せにすると、先ほど述べた「テスト完了の定義のズレ」が必ず起きます。
もうひとつは、出口のゲートである「受け入れ判定」です。外注先が「テスト完了」と報告してきたとき、それを鵜呑みにせず、発注者自身が定めた基準で合否を判定すること。この最終ゲートを発注者が握ることで、品質の最終責任を自社でコントロールできます。
裏を返せば、この2つのゲートさえ発注者が握っていれば、間のテスト実装作業は安心して外注先に委ねられます。次の章からは、この入口ゲートにあたる「テスト要件定義書」の具体的な書き方から見ていきましょう。
外注エンジニアに渡すテスト要件定義書の書き方

ここからが本記事の核心です。発注者が外注エンジニアに渡すべき「テスト要件定義書」に、具体的に何を書けばよいのかを、そのまま転用できる形で解説します。
テスト要件定義書とは、「このシステム(機能)について、何を、どんな観点で、どこまでテストして、どうなれば合格とするか」を発注者側から定義したドキュメントです。専任の QA がいなくても、以下の項目を埋めていくだけで、外注先に渡す品質基準の骨格ができあがります。
テスト要件定義書の必須項目テンプレート
下記は、発注者がそのままコピーして使えるテスト要件定義書の項目テンプレートです。「記載内容」を参考に、「記載例」を自社の案件に置き換えて埋めていってください。
項目 | 記載内容 | 記載例 |
|---|---|---|
テスト対象範囲 | 今回テストする機能・画面・APIを明示する | 会員登録機能、ログイン機能、注文確定機能の3機能。既存の決済連携は対象外 |
テスト観点 | 正常系・異常系・境界値・性能・セキュリティのどれを実施するか | 正常系・異常系・境界値を必須。性能は同時アクセス50件まで確認 |
優先度 | 機能ごとの重要度(重点的にテストする箇所) | 注文確定機能=最優先(売上に直結)。会員登録=高。ログイン=中 |
合格条件 | どうなったら「合格」とみなすか | 優先度「高」以上の機能で重大度A・Bのバグが0件であること |
除外範囲 | 今回テストしない範囲を明示する | 管理画面の帳票出力機能は次フェーズのため対象外 |
テスト環境 | どの環境で、どのデータでテストするか | ステージング環境、ブラウザはChrome最新版・Safari・スマホ表示を確認 |
報告フォーマット | テスト結果をどんな形式で報告してほしいか | テストケース一覧(合否付き)とバグ一覧(重大度付き)をスプレッドシートで提出 |
納期 | テスト完了の期限 | 結合テスト完了を◯月◯日、UAT用の引き渡しを◯月◯日 |
すべての項目を完璧に埋める必要はありません。特に重要なのは「テスト対象範囲」「テスト観点」「合格条件」「除外範囲」の4つです。この4つが定義されていれば、外注先は「どこを、どう確認し、何が達成できれば終わりか」を理解した上でテストを進められます。
テスト観点を漏らさないためのチェックリスト
テスト要件定義書の中でも、非エンジニアの発注者が最も書きにくいのが「テスト観点」です。観点が抜けると、その領域は丸ごとテストされません。最低限、以下の観点を漏れなく検討してください。
- 正常系:仕様どおりに正しく操作したとき、期待どおりの結果になるか(例:正しいメールアドレスとパスワードでログインできる)
- 異常系:誤った操作・不正な入力をしたとき、適切にエラー処理されるか(例:間違ったパスワードでログインを試みるとエラーメッセージが出る)
- 境界値:入力可能な値の上限・下限ぎりぎりで正しく動くか(例:文字数制限が20文字なら、20文字と21文字の両方を確認する)
- 例外・割り込み:処理の途中で通信が切れる、二重に送信するなど、想定外の操作で破綻しないか(例:注文確定ボタンを連打しても二重注文にならない)
- 非機能(性能・セキュリティ):同時アクセス時の速度、不正アクセスへの耐性など、機能以外の品質(例:同時に多数のユーザーがアクセスしても応答が極端に遅くならない)
非エンジニアの方がすべての観点を技術的に細かく定義するのは難しいかもしれません。その場合は「正常系・異常系・境界値は必ず、性能とセキュリティは重要度に応じて」という方針だけでも明文化し、具体的なケースは外注先に提案してもらった上でレビューする、という進め方が現実的です。
「テスト要件定義書」と外注先が作る「テスト仕様書」の役割の違い
ここで、混同しやすい2つのドキュメントの違いを整理しておきます。発注者が渡す「テスト要件定義書」と、外注先が作る「テスト仕様書」は、似た名前ですが役割が異なります。
ドキュメント | 作成者 | 役割 |
|---|---|---|
テスト要件定義書 | 発注者 | 何を・どこまで・どうなれば合格かという「要求」を定義する |
テスト仕様書(テストケース) | 外注先 | 要求を満たすための具体的なテスト手順・テストケースを設計する |
発注者が定義した「要件」を受けて、外注先が「具体的にどんなテストケースを実行するか」を仕様書に落とし込む——この役割分担が基本です。発注者がテストケースの1件1件まで書く必要はありません。発注者は「ゴール(要件)」を示し、外注先が「ゴールに到達する経路(テストケース)」を設計する、と覚えておくとよいでしょう。そして、外注先が作ったテスト仕様書が要件をきちんと満たしているかは、発注者がレビューします(このレビュー観点は後述します)。
品質基準を数値で設計する(バグ密度・テスト密度・カバレッジ)

「しっかりテストしてください」という曖昧な依頼から脱却するもうひとつの鍵が、品質を「数値」で語ることです。感覚的な「十分にテストした/していない」という議論を避け、客観的な指標で会話できるようにすると、外注先との認識合わせがぐっと楽になります。
ここでは、発注者が押さえておくべき3つの品質指標を、エンジニア向けの技術指標としてではなく「発注者が外注先と品質を会話するための共通言語」として解説します。
発注者が押さえる3つの品質指標
指標 | 何を表すか | 発注者がどう使うか |
|---|---|---|
バグ密度 | 開発規模あたりのバグ数(バグ数 ÷ 開発規模)。テストでどれだけバグが見つかったかを規模で割って比較可能にしたもの | 「規模のわりにバグが極端に少ない/多い」場合に外注先へ理由を確認するきっかけにする |
テスト密度 | 開発規模あたりのテストケース数(テストケース数 ÷ 開発規模)。テストの量が十分かを示す | 「テストの量が想定より少なくないか」を確認し、網羅性の議論に使う |
テストカバレッジ | テストがプログラムのどの程度の範囲を通過したかの割合 | 「重要機能のカバレッジは確保されているか」を外注先に確認する |
バグ密度は「バグ数 ÷ 開発規模」、テスト密度は「テストケース数 ÷ 開発規模」で算出されます。開発規模の単位には、機能数(FP)やプログラムの行数(LOC)が使われます(SHIFT|バグ密度・テスト密度とは)。これらの指標は、外注先が品質を報告する際に提示してもらうことで、「なんとなく」ではなく数値ベースで品質を議論する土台になります。
非エンジニアの発注者がこれらの計算式を自分で扱う必要はありません。「バグ密度・テスト密度・カバレッジの数値を報告に含めてください」と要求し、出てきた数値について「この数字はどう解釈すればよいか」を外注先に説明してもらう、という使い方で十分です。
ゾーン分析で「テストが足りているか」を発注者が見抜く
バグ密度とテスト密度を組み合わせると、「テストが十分に行われた上で品質が良いのか、それともそもそもテストが足りていないのか」を見分けられます。これが「ゾーン分析」と呼ばれる考え方です。横軸にテスト密度、縦軸にバグ密度をとり、両者の組み合わせでテストの状態を分類します(Qbook|ゾーン分析とは)。
発注者が押さえておきたいのは、特に次のパターンです。
- テスト密度もバグ密度も標準的:テストが十分に行われ、バグも想定範囲内で検出・修正されている良好な状態
- テスト密度が低く、バグも少ない:一見すると優秀そうに見えますが、実は「テストが足りていないためバグが見つかっていないだけ」の可能性があります。バグが少ないという報告を額面どおり受け取らず、テストの量を確認すべきサインです
- テストは十分なのにバグが多い:設計・開発工程に問題がある、あるいは品質そのものに懸念がある可能性を示します
ここで重要なのは、「バグが少ない=高品質」とは限らないという視点です。「テスト密度が低いのにバグが少ない」状態は、品質が良いのではなく「テストが不十分で品質を判断できない」状態であることが多いのです。外注先から「バグはほとんど出ませんでした」と報告されたら、安心する前に「どのくらいの量のテストを行った上での結果か」を確認する——この一手間が、発注者がテストの形骸化を見抜くポイントになります。
数値基準を契約・要件にどう落とすか(過度な数値主義に注意)
これらの数値指標は、テスト要件定義書や契約の合意事項に組み込むことで、品質基準を客観化できます。たとえば「テスト密度は過去案件の実績を下回らないこと」「重要機能のカバレッジは確保すること」といった形で、報告に含める指標を事前に合意しておくと、テスト報告のレビューがしやすくなります。
ただし、ここで強く注意したいのは、数値を機械的な合否ラインにしてしまわないことです。バグ密度やテスト密度に「業界共通の正解値」は存在しません。適切な水準は、システムの種類・開発規模・使用しているプログラミング言語・開発手法によって大きく変わります。たとえば、小規模な改修と大規模な新規開発では、妥当なバグ密度はまったく異なります。
ある記事で見た「バグ密度の目安は◯件」という数字をそのまま自社の合格ラインにすると、かえって判断を誤ります。むしろ大切なのは、自社が継続発注している案件のデータを蓄積し、「自社の標準値」を育てていくことです。過去の案件で「テスト密度がこのくらいで、バグ密度がこのくらいだった案件は、リリース後に大きな問題が出なかった」という実績が、最も信頼できる自社基準になります。数値は「絶対の合否ライン」ではなく「いつもと違う異常を検知するためのものさし」として使うのが、現実的で失敗の少ない使い方です。
外注先のテスト仕様書・テスト報告をレビューする観点
テスト要件を渡し、品質指標を合意したら、次は外注先から上がってくる成果物(テスト仕様書・テスト結果報告)をレビューする番です。ここを発注者がチェックできるようになると、「テスト完了と言われたけれど本当に大丈夫か」という不安に、自分の目で答えを出せるようになります。
受け取ったテスト仕様書のレビューチェックリスト
外注先がテスト設計を終え、テスト仕様書(テストケース一覧)を提出してきたら、テスト実施に入る前に以下の観点でレビューします。実施後ではなく実施前にレビューするのがポイントで、ここで漏れを指摘すれば手戻りを防げます。
- テスト要件定義書との突き合わせ:自分が渡した要件(テスト対象範囲・観点)が、テストケースとして網羅されているか。要求した範囲に対応するケースが存在するか
- テスト観点の網羅性:正常系だけでなく、異常系・境界値のケースが含まれているか。異常系のケース数が極端に少ない場合は要注意
- 優先度との整合:優先度を「高」と指定した機能に、相応のテストケースが割り当てられているか。重要機能なのにケースが数件しかない、という偏りがないか
- 合格条件の明示:各テストケースに「期待結果(どうなれば合格か)」が書かれているか。期待結果がないケースは合否判定ができない
非エンジニアの方でも、「自分が要件で要求した項目が、テストケースの中にちゃんと存在するか」を突き合わせるだけで、大きな抜け漏れは発見できます。
テスト結果報告で証跡として確認すべきもの
テスト実施後の結果報告では、「完了しました」という言葉ではなく、客観的な証跡を確認します。報告を鵜呑みにせず、以下の記録を提示してもらいましょう。
- テストケースごとの合否:実施した全ケースの一覧と、それぞれの合否(合格/不合格/未実施)。「未実施」が残っている場合はその理由
- 検出バグの一覧と重大度:見つかったバグの一覧と、それぞれの重大度(致命的・重大・軽微など)。重大度の高いバグがどう処理されたか
- バグの修正・再テストの記録:検出されたバグが修正され、修正後に再テストして合格していること。「修正したが再テストしていない」状態のバグが残っていないか
- 未消化項目の有無:合格条件に対して、まだ実施できていない・合格していない項目が残っていないか
特に見落としやすいのが「再テストの記録」です。バグを修正しただけで再テストを行っていないと、修正が別の不具合を生んでいる可能性があります。「修正済み」と「修正して再テストも合格済み」は別物だと意識して確認してください。証跡として記録が残っていれば、後からトラブルが起きても「どこまで検証されていたか」を正確に追跡できます。
受け入れテスト(UAT)の受け入れ基準を発注者が設計する
外注先のテストレビューを通過したら、最後に発注者自身が行う最終ゲート、受け入れテスト(UAT:User Acceptance Test)が待っています。UAT は、発注者が「このシステムを本番で使ってよいか」を業務の視点で判断する、品質コントロールの最後の砦です。
受け入れ基準を発注前に決めておく理由
UAT の受け入れ基準(Acceptance Criteria)は、テストの直前ではなく、発注前のなるべく早い段階で決めておくのが理想です。なぜなら、受け入れ基準は「このシステムに何を期待しているか」の裏返しだからです。発注前に「業務で◯◯ができれば合格」という基準を決めておけば、それがそのまま外注先への要求仕様にもなり、開発のゴールが明確になります。
受け入れ基準を後回しにすると、UAT の段階になって「やっぱりこの業務もできてほしかった」という後出しの要求が生まれ、手戻りや追加費用の原因になります。発注前に受け入れ基準を固めることは、品質の担保だけでなく、開発全体をスムーズに進めるためにも有効です。
UAT 受け入れ基準チェックリストの雛形
UAT は、技術的なテストケースではなく「実際の業務シナリオ」で検証するのがコツです。以下は、業務シナリオベースで受け入れ基準を整理するチェックリストの雛形です。自社の業務に合わせて行を追加して使ってください。
業務シナリオ | 期待結果 | 合否 | 重大度 |
|---|---|---|---|
新規顧客を登録し、確認メールが届く | 登録完了画面が表示され、5分以内に確認メールが届く | 合 / 否 | — |
商品を注文し、在庫が正しく減る | 注文確定後、対象商品の在庫数が注文数だけ減る | 合 / 否 | — |
誤った金額を入力し、エラーで止まる | マイナス金額を入力すると確定できずエラーが表示される | 合 / 否 | — |
月末の締め処理を実行し、帳票が出力される | 当月分の売上が正しく集計された帳票が出力される | 合 / 否 | — |
ポイントは「期待結果」を具体的に書くことです。「正しく動く」ではなく「5分以内にメールが届く」「在庫が注文数だけ減る」のように、誰が見ても合否を判断できる形で書いておくと、UAT の判定がぶれません。重大度の列は、不合格だった場合に「リリースを止めるレベルか、リリース後に直せばよいレベルか」を切り分けるために使います。
品質未達だった場合の改善要求と責任範囲の線引き
UAT で不合格となった場合、発注者は外注先に改善を要求することになります。このとき、事前に受け入れ基準を文書で合意してあれば、「合意した基準のこの項目を満たしていない」という客観的な事実をもとに、感情論ではなく具体的な改善依頼ができます。逆に基準を合意していなければ、「言った・言わない」の水掛け論になりがちです。受け入れ基準の事前合意は、品質未達時の交渉を有利に進めるための備えでもあります。
改善要求にあたっては、発注者と外注先の責任範囲を切り分けることも大切です。「要件として明示していた項目を満たしていない」のは外注先の責任ですが、「要件に書いていなかった機能が欲しい」のは仕様追加であり、追加の費用や工数が発生するのが通常です。この線引きを曖昧にすると、外注先との関係が悪化し、かえって品質改善が進まなくなります。
なお、受け入れ後の運用フェーズも含めた品質のコントロールについては、検収の進め方や継続的な品質マネジメントの観点が別途必要になります。発注後の品質をどう管理し続けるかについては、外注エンジニアの品質管理もあわせてご覧ください。本記事の「発注前のテスト要件設計」と、発注後の品質管理を組み合わせることで、開発の入口から運用まで一貫した品質コントロールが可能になります。
よくある質問(FAQ)
Q1. テスト要件は発注前と発注後、どちらで決めるべきですか?
骨子は発注前に、詳細は要件確定後に決めるのが基本です。「何を業務で実現したいか」という受け入れ基準の骨格は、発注前に決めておくことで開発のゴールが明確になり、外注先への要求仕様にもなります。一方で、テスト観点や具体的な合格条件といった詳細は、機能仕様が固まってから詰める方が現実的です。「発注前に骨子、要件確定後に詳細化」という二段階で考えるとスムーズです。
Q2. テストを外注する場合、発注者側にもテストの知識は必要ですか?
テストを自分で実装する技術的な知識は不要です。テストケースを書いたりテストツールを操作したりするのは外注先の役割です。ただし、発注者には「合否を判定する基準を持つ」ことが求められます。何をテスト対象とし、どうなれば合格とみなすかを定義し、外注先の報告をレビューして合否を判断する——この役割は、技術的なテスト実装とは別のスキルで、非エンジニアの発注者でも担えます。本記事のテンプレートやチェックリストは、まさにこの「判定基準を持つ」ことを支援するものです。
Q3. バグ密度の「目安」はどのくらいですか?
一律の正解値は存在しません。適切なバグ密度は、システムの種類・開発規模・使用言語・開発手法によって大きく変わるため、「業界標準は◯件」といった数字をそのまま自社の合格ラインにするのは危険です。最も信頼できるのは、自社が継続発注している案件のデータを蓄積して作る「自社基準」です。過去案件で「この水準なら大きな問題が出なかった」という実績値を、異常を検知するためのものさしとして使うのがおすすめです。指標の定義はSHIFT|バグ密度・テスト密度とはも参考になります。
Q4. テスト工数やコストはどう見積もればよいですか?
テスト範囲とテスト観点を要件として固めることが、見積もりを明確にする近道です。「どの機能を、どの観点で、どこまでテストするか」が曖昧なままだと、外注先も工数を見積もれず、見積もりが甘くなったり後から膨らんだりします。テスト要件定義書で範囲と観点を明示すれば、外注先は必要なテストケース数を想定でき、より精度の高い見積もりを出せます。要件の明確化は、品質だけでなくコストの予見性も高めます。
Q5. 外注先のテストが不十分だった場合、契約上どう対応できますか?
受け入れ基準を事前に文書で合意しておくことが前提になります。合意した受け入れ基準を満たしていない場合は、「合意事項を満たしていない」という客観的な根拠をもとに、修正や再テストを要求できます。逆に基準を合意していないと、何をもって「不十分」とするかが争点になり、対応が難しくなります。受け入れ基準・合格条件・報告フォーマットを発注時に文書で合意し、契約や発注書に紐づけておくことが、いざというときの交渉力につながります。
まとめ|外注エンジニアのテスト品質は「設計してから渡す」で決まる
外注エンジニアのテスト品質を担保する鍵は、「テストしてください」と丸投げするのではなく、発注者がテスト要件を設計してから渡すことにあります。本記事で解説した要点を、最後に整理します。
- 発注者が握るべきは2つのゲート:入口の「テスト要件の提示」と、出口の「受け入れ判定」。テストの実装作業は外注先に任せてよい
- テスト要件定義書で曖昧さをなくす:テスト対象範囲・テスト観点・合格条件・除外範囲を文書化し、外注先と「テスト完了の定義」を共有する
- 品質は数値で会話する:バグ密度・テスト密度・カバレッジを共通言語にし、ゾーン分析の視点で「テストが足りているか」を見抜く。ただし数値は自社基準で運用し、機械的な合否ラインにしない
- UAT で最終ゲートを握る:業務シナリオベースの受け入れ基準を発注前に定義し、発注者自身が合否を判定する
発注者が「テストの品質基準を設計してから渡す」という一手間をかけるだけで、外注開発の品質は大きく安定します。専任のQAがいなくても、本記事で紹介したテスト要件定義書や受け入れ基準のテンプレートを使えば、次の発注から明確な品質基準を提示できます。まずは直近の案件をテンプレートに当てはめてみることから始めてみてください。
テスト要件の設計は、外注エンジニアチームを継続的にマネジメントする取り組みの一部です。要件定義書のテンプレートだけでなく、発注から検収・継続改善までの一連の進め方を体系的に整理した「業務委託エンジニアのマネジメント実践ガイド」では、本記事で触れた品質基準づくりを含む実践ステップをまとめています。外注チームの品質を仕組みで担保したい方は、あわせてご活用ください。



