LASSIC Media らしくメディア
テストケース数の規模あたり中央値|残りのテスト量の見積もり方
監修・編集責任者:牛尾 昭昌(株式会社LASSIC 執行役員)
この記事の結論
- IPAの資料では、結合テストのテストケース数は、ソースコード千行あたりの中央値で51.7件です。
- 総合テストは同じ単位で16.0件と結合テストより少ないので、残りのテスト量は工程を分けて見積もります。
- 総合テストの平均は中央値の40.9倍になるため、見積もりには中央値と、多め・少なめの目安の値を使います。
※ 本記事は2026年9月時点の公式情報(省庁・公的機関、および製品やサービスを提供する事業者が公開している資料)に基づきます。
テストがあとどれだけ残っているのか、見当がつかない。作成済みのテストケースを数えても、それが全体の何割に当たるのかが分からない——。遅れている開発案件では、こうした状況が起こりがちです。手がかりになるのが、規模あたりのテストケース数の中央値です。ソースコードの量に対してテストケースが何件あったかを多くのプロジェクトで集め、小さい順に並べたときの真ん中の値を指します。
IPA(情報処理推進機構)の資料では、結合テストがKSLOC(ソースコード千行)あたり51.7件、総合テストが16.0件と示されています。*2残りのコード量に掛ければ、残りのテスト量の目安と上下の幅を出せます。ただし万能ではなく、テスト1件あたりにかかる工数までは表していません。本記事では、開発の立て直しを判断する方に向けて、資料の中央値と幅、平均を使わない理由、見積もりの手順、そして外部に頼むときに確認したい点を整理します。
目次
規模あたりのテストケース数とは
規模あたりのテストケース数は、テストケースの件数をプログラムの規模で割った値です。規模の測り方には、行数で測るSLOC(ソースコードの行数)と、機能の量で測るFP(ファンクションポイント)があります。行数で測る場合は、千行あたりの件数を「件/KSLOC」と書きます。同じ10件でも、千行のプログラムと1万行のプログラムでは意味が違うので、規模で割ってそろえます。
この値をまとめて公開しているのが、IPAの「ソフトウェア開発分析データ集2022」です。2022年9月26日に公開され、これまでに収集した5,546プロジェクトの定量データから分析したと記されています。最終更新は2025年8月28日です。「事業終了に伴い今後の発行予定はございません」とも明記されています。*1最新の相場を示す資料ではなく、2022年時点の値を比べるときの基準として使う資料です。
テストケース数を扱うのは、データ集の本編(本体の報告書)の5章です。対象は、開発の5つの工程(基本設計から総合テストまで)のすべてについて、実施の記録がそろっているプロジェクトです。*2結合テストは、別々に作った部品を組み合わせて、つなぎ目が正しく動くかを確かめるテストです。総合テストは、システム全体が求められたとおりに動くかを確かめるテストで、本編では受注した側が確認する工程を指すと注記されています。*2
本編にはFP規模あたりの値もありますが、集計に使われたプロジェクトは結合テストのテストケースで42件、総合テストで38件にとどまります。*2SLOC規模あたりの値は665件のプロジェクトから集計されているので、本記事ではSLOC規模あたりの値を扱います。自社で比べるときは、記録が残っている単位を選びます。FPで規模を記録しているならFP規模あたりの値と比べられますが、参考にとどめるのが無難です。
結合テストと総合テストの中央値
本編の表5-1-1は、SLOC規模あたりのテストケース数と検出バグ数を、開発の種類(新規開発や改良開発など)を分けずにまとめた表です。結合テストのテストケースは中央値51.7件/KSLOCで、P25が22.2、P75が120.1でした(N=665)。*2P25とP75は、値を小さい順に並べたときに25%と75%の位置にある値で、半数のプロジェクトがこの2つの間に入ります。Nは、その行の集計に使われたプロジェクトの数です。
総合テストのテストケースは中央値16.0件/KSLOC、P25が6.4、P75が40.7でした(N=620)。*2結合テストより総合テストのほうが、規模あたりの件数は少なくなっています。
同じ規模でも、件数が多めの案件(P75)は、少なめの案件(P25)の5倍を超えます。表の値からP75をP25で割ると、結合テストで5.41倍、総合テストで6.36倍でした。中央値だけで1つの件数を決めるより、この幅を持ったまま計画を立てるほうが、実際の件数とのずれに気づきやすくなります。
なお、結合テストと総合テストの行は、集計に使われたプロジェクトが665件と620件で、同じプロジェクトの集まりではありません。比べられるのは、結合テストのほうが件数が多いという大小の順までです。何倍多いかという値は、見積もりに使わないようにします。
なぜ平均を使わないのか
同じ表には平均も載っていますが、中央値から大きく離れています。総合テストのテストケースは平均653.9件でした。*2上端(最も大きい値)に219,000.0件/KSLOCというプロジェクトが含まれているためです。結合テストも平均は484.9件で、上端は100,000.0件でした。
平均を中央値で割ると、総合テストで40.9倍、結合テストで9.4倍になります。平均は一部の極端に大きい値に引っ張られるため、この表を見積もりに使うなら、中央値とP25・P75だけを使います。
現象数と原因数の違い
5章では、テストで見つかったバグを2通りに数えています。見つかった不具合を症状の単位で数えた現象数と、その元になったプログラムの誤りの単位で数えた原因数です。結合テストでは、現象数の中央値が1.111件/KSLOC(N=507)、原因数が1.042件/KSLOC(N=389)でした。総合テストでは、現象数が0.197件(N=475)、原因数が0.246件(N=376)です。*2
この2つは、引き算をしたり並べて比べたりできません。本編が「現象数と原因数のデータを提出しているそれぞれのプロジェクト群は重なりが少ないため、数だけのデータでは比較できないことに留意されたい」と明記しているためです。*2結合テストでは現象数のほうが多く、総合テストでは原因数のほうが多く見えますが、ここに意味を読み込まないようにします。
自社で記録するときも、現象で数えるか原因で数えるかを先に決め、混ぜずに記録します。なお、バグ数の多め(P75)と少なめ(P25)の差は、総合テストのほうが大きく、表の値から計算すると現象数で12.53倍、原因数で10.71倍でした。
残りのテスト量をどう見積もるのか
ここまでの値を使うと、残りのテスト量は4つの段階で見積もれます。下の表は、見積もりに使う表5-1-1の値をまとめたものです。
| 行 | P25 | 中央 | P75 | P75÷P25 | N |
|---|---|---|---|---|---|
| 結合テスト(テストケース) | 22.2 | 51.7 | 120.1 | 5.41倍 | 665 |
| 総合テスト(テストケース) | 6.4 | 16.0 | 40.7 | 6.36倍 | 620 |
| 結合テスト検出バグ数(現象) | 0.468 | 1.111 | 2.402 | 5.13倍 | 507 |
| 総合テスト検出バグ数(現象) | 0.051 | 0.197 | 0.639 | 12.53倍 | 475 |
| 結合テスト検出バグ数(原因) | 0.373 | 1.042 | 1.957 | 5.25倍 | 389 |
| 総合テスト検出バグ数(原因) | 0.063 | 0.246 | 0.675 | 10.71倍 | 376 |
第1段階は、残っている対象のコード量をKSLOCの単位で出すことです。第2段階は、結合テストと総合テストを分け、それぞれの中央値を掛けることです。第3段階は、P25とP75も掛けて、少なめと多めの見込みを作ることです。第4段階は、作成済みのテストケースを数え、その件数が少なめから多めの見込みのどこに当たるかを確かめることです。
たとえば残りが10KSLOC(ソースコード1万行)なら、表の値から計算して、結合テストは中央値で517件、幅は222件から1,201件です。作成済みの件数が222件に届いていなければ、少なめの見込みにもまだ達していないと分かります。総合テストも同じように、160件を目安に64件から407件の幅で見ておきます。
順番を逆にしないことも大切です。件数の見込みは、少なめと多めで5倍以上違います。人数と日数を先に決めてしまうと、件数が多めに振れたときに計画が合わなくなります。件数の見込みを先に出し、それから担当する人数と期間を決めます。テストの計画と設計を委託する進め方は「テスト計画・テスト設計の外注」で扱っています。
つまずきやすい点
一つ目は、結合テストと総合テストを合計して、1つの件数で見積もることです。中央値が51.7件と16.0件で違うため、まとめると工程ごとの差が見えなくなります。二つ目は、作成済みの件数だけを数えて、残りの件数を見込まないまま進めることです。全体の見込みが無いと、何割まで進んだのかが分かりません。
三つ目は、資料の時点を忘れることです。示されているのは2022年時点の値で、ケース数と品質の関係もこの集計には含まれていません。直近の相場として使うのではなく、自社の過去の案件と比べる基準として使うのが向いています。
外部に委託するときに確認しておきたい点
件数の見込みが出ると、テストケースの作成と実行に人を追加するかどうかを判断できます。このとき、何を確認するかを決める作業と、ケースを書き起こして実行する作業を分けておきます。仕様の判断が要る部分は社員が担い、ケースの書き起こしと実行を外部の専門人材に任せる形が取れます。
テスト工程の数か月だけ加わってもらうなら、個人のフリーランスや開発を請け負う会社への業務委託が合います。依頼の前に、担当してもらう工程、件数の見込み、期間を書き出しておくと、候補者と条件をすり合わせやすくなります。テストの体制づくりは「ソフトウェアテスト外注で体制構築する進め方と実践ポイント」で、工程ごとの内製と委託の実情は「工程別の内製化|設計開発テストだけ委託が34.4%」で扱っています。
まとめ:テストケース数で確かめておきたい3つの点
テストケース数の規模あたり中央値を見積もりに使ううえで、確かめておきたい点は3つに整理できます。第一に、結合テストと総合テストを分け、それぞれの中央値を残りのコード量に掛けること。第二に、平均ではなく中央値とP25・P75を使い、少なめと多めの見込みを持つこと。第三に、作成済みの件数を数えてから、担当する人数と期間を決めることです。この3点を踏まえておけば、「人を追加したのに、テストがいつ終わるのか見通せない」という事態を避けやすくなります。テスト工程の体制づくりに迷いがあれば、外部の手を借りるのも一つの選択肢です。
よくある質問
規模あたりのほかに、工数あたりの値も載っていますか
載っています。本編5章は、結合テストと総合テストの2工程について、規模あたりと工数あたりの値を示すとしています。*2規模を記録していない案件では、工数あたりの値と比べる方法もあります。
過去の版と比べて、値は変わっていますか
結合テストのテストケースは大きく変わっていません。本編は2014年度から2019年度と比べて、中央値は50.2件から51.7件で、「あまり差はない」と記しています。*2一方、FP規模あたりの値は、集計したプロジェクトが少ないため、前の版から変わったとは言えないとしています。
自動化したテストにも、この中央値を当てはめられますか
資料には、テストを手で実行したのか自動で実行したのかを分けた集計がありません。自動化の割合が高い案件では、件数の見込みは中央値から出しつつ、作業時間は自社の実績で見積もるほうが確実です。
資料はどこで入手できますか
IPAのサイトで公開されています。本編のほかに、業種編3編、サマリー版、マンガ解説版、グラフデータが公開されています。*4表の値を自社の資料に使うときは、グラフデータの使用条件に従って著作権表示を記します。*3
テスト工程の体制を相談したいとき
残りのテスト量の見積もりと、担当する人の決め方からご相談いただけます。
Remoguとリラシクなら、リモートワークで働く社員の候補者も、業務委託で開発に加わる専門人材も探せます。
Remoguは、リモート前提で全国から即戦力のITプロ人材を調達するサービスです。リラシクは、扱う求人がすべてリモートワークのITエンジニア専門転職エージェントです。どちらもLASSICが運営しています。
出典
- *1 参考:IPA「ソフトウェア開発分析データ集2022」(https://www.ipa.go.jp/digital/software-survey/metrics/metrics2022.html)。出典:公開日・最終更新日・5,546プロジェクト・事業終了に伴い今後の発行予定がないことの記述を参照(2026年9月確認)
- *2 参考:IPA「ソフトウェア開発分析データ集2022」本編(https://www.ipa.go.jp/digital/software-survey/metrics/hjuojm000000c6it-att/000102171.pdf)。出典:5章の前文(対象条件・現象数と原因数の比較についての注記)、表5-1-1・表5-2-1の四分位・平均・標準偏差・Nを参照(2026年9月確認)
- *3 参考:IPA「ソフトウェア開発分析データ集2022グラフデータ」(https://www.ipa.go.jp/digital/software-survey/metrics/hjuojm000000c6it-att/000103288.zip)。出典:同じ表の値の確認に使用。著作権はIPAが保有(Copyright 2022 IPA)(2026年9月確認)
- *4 参考:IPA「ソフトウェア開発分析データ集」(https://www.ipa.go.jp/digital/software-survey/metrics/index.html)。出典:業種編3編・サマリー版・マンガ解説版・グラフデータという構成の記述を参照(2026年9月確認)