【プロジェクトマネジメント】単体テストの判断基準(テスト密度とバグ密度の目安)

システム開発

はじめに

本記事では、何かとわかりにくい単体試験の”品質合格”の判断基準を記載しています。(品質合格 = 単体試験完了基準)。本記事は、基本情報技術者 平成28年秋期 午後 問6をもとに記載をしております。また、あまり言及されない、単体試験のテスト密度とバグ密度の目安についても記載をしております。

問題冊子・配点割合・解答例・採点講評(2016年度、平成28年度) | 試験情報 | IPA 独立行政法人 情報処理推進機構
情報処理推進機構(IPA)の「問題冊子・配点割合・解答例・採点講評(2016年度、平成28年度)」に関する情報です。

単体試験 品質評価グラフ

単体試験の品質評価は上記のようにまとめられます。

それぞれのエリアについて記載を進めていきます。

Ⅰ. バグ密度が高い

このエリアはバグ件数が多く、プログラム品質不良である可能性が一番高いエリアとなります。本エリアに入った場合は、注意深くバグの内容を確認し、原因分析を行い、必要な対処を行う必要があります。

Ⅱ. テスト不足

このエリアはテスト不足であるため、十分な試験ができていない可能性があります。このまま次工程に進んでしまうと、バグが流出する可能性があるため、改めて試験設計を見直す必要があります。

Ⅲ. 品質良好 or テスト品質不良

このエリアは以下2種類に分解されます。

  1. プログラム品質が非常に高く、バグが想定を下回ったケース。
  2. テスト品質が悪いケース。

特に2であることを確かめるため、試験の網羅性や、重複試験などが存在しないかを確かめる必要があります。

Ⅳ. 品質良好

このエリアは、プログラム品質・テスト品質共に良好であったと考えられるエリアです。

しかし、担当者が故意にこのエリアに持っていくように数値を作っている可能性は捨てられないため、テスト内容とバグ内容を品質分析し、問題ないかを確認する必要があります。

 

まとめ

簡単に(口語的に)まとめると下になります。雰囲気としては下を理解すれば十分です。

品質分析の考え方は以下で記載していますのでご確認ください。(結合試験・総合試験について記載していますが、単体試験でも考え方は同じです。)

単体試験 品質基準

最後に、単体試験の品質基準(テスト密度とバグ密度の基準値)の考え方について記載します。

IPAが発行している、「ソフトウェア開発 データ白書」にも”結合試験”・”総合試験”についてしか記載がないため、単体試験の考え方について触れておきます。

目安として、単体試験におけるバグ密度テスト密度は結合試験に対して、以下のようにするのが良いと考えます。

開発種別項目係数(結合試験比)
新規開発テスト密度2倍
バグ密度2倍
改良開発テスト密度1.5倍
バグ密度2倍

改良開発のテスト密度のみ下げているのは、改良開発のほうが結合試験件数が多くなることが一般的であるため、過剰な件数となることを防ぐためです。大体結合試験の2倍くらいが目安だと思っていれば十分です。(ITベンダーから出てきた単体試験数が結合試験と比べてどんなもんか?を見てみましょう。)

もちろん、この値は目安でしかないので、どこまで必要かはプロジェクト特性によって変わってきます。

非IT企業の情報システム部がシステム開発を依頼させられた場合⑫~単体試験~
はじめに情報システム部の方で、ITに詳しいだろうからという理由で、ビジネス用のシステム開発のマネージメントをするように依頼されることはないでしょうか?実際は情報システム部の仕事と、ビジネス用システムの開発は大きく異なるもの...

単体試験 新規開発 テスト密度・バグ密度

具体的に2018-19年度 ソフトウェア データ白書の値に当て込むと以下のようになります。ソフトウェアデータ白書は更新されるため、最新情報にアップデートいただくのが良いと思います。

[件/KSLOC]最小値P25中央値P75最大値
結合テスト(テストケース)0.1717.8535.7064.271,332
単体テスト(テストケース)0.3435.7071.40128.542,664
結合テストバグ密度(現象)0.0100.9431.6002.62628.771
単体テストバグ密度(現象)0.0201.8863.2005.25257.542
結合テストバグ密度(原因)0.0390.5451.3912.26128.771
単体テストバグ密度(原因)0.0781.0902.7824.52257.542

単体試験 改良開発 テスト密度・バグ密度

[件/KSLOC]最小値P25中央値P75最大値
結合テスト(テストケース)0.59032.9865.72171.76100,000
単体テスト(テストケース)0.88549.4798.58257.64150,000
結合テストバグ密度(現象)0.0000.3081.0102.4257,846
単体テストバグ密度(現象)0.0000.6162.0204.85015,692
結合テストバグ密度(原因)0.0000.4311.2002.2607846
単体テストバグ密度(原因)0.0000.8621.2084.52015,692

おわりに

本記事では、単体試験の評価基準と、単体試験におけるテスト密度とバグ密度の目安について、記載を行いました。

単体試験は、ITベンダーに閉じた試験となることが多く、問題に気づきにくいことが多いため、注意して進行するように努めるのが良いと思います。

ユーザ企業側が気を付けるべきポイントは以下にまとめておりますので、こちらもご参照いただければ嬉しいです。

Amazon.co.jp
【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版] | 布施 昌弘, 江添 智之, 永井 努, 三堀 雅也, 石原 一宏, 堀 明広 |本 | 通販 | Amazon
Amazonで布施 昌弘, 江添 智之, 永井 努, 三堀 雅也, 石原 一宏, 堀 明広の【この1冊でよくわかる】 ソフトウェアテストの教科書 。アマゾンならポイント還元本が多数。布施 昌弘, 江添 智之, 永井 努, 三堀 雅也, 石原 一宏, 堀 明広作品ほか、お急ぎ便対象商品は当日お届けも可能。また【この1冊で...

コメント

タイトルとURLをコピーしました