3 ソフトウェアテスト見積りでの成功と失敗例
4.7 欠陥修正に関わる工数の把握
ソフトウェアテストでは検出した一つの欠陥を除去するために、その欠陥を作りこんだ工程に 遡って修正を行います。その修正作業は欠陥を作りこんだ工程以降、改良開発と同じ作業プロセ スを辿ります。通常、ソフトウェアテストでは多くのソフトウェアの欠陥が、検出され、欠陥を 作りこんだ工程は様々です。よって、各工程の欠陥修正量は、遡った当該工程での欠陥修正量と 先行する工程の欠陥修正によって修正される欠陥修正量とを総和したものとなります。図4.12に その関係を示しています。
図4.12 開発工程に対応したソフトウェア欠陥修正量の概念図
作りこんだ欠陥の修正工数は、あらかじめ蓄積した実績欠陥修正データ(欠陥修正量、欠陥修 正工数)から単位欠陥修正量あたりの欠陥修正生産性を設定しておくことで、予測が可能になり ます。例えば、ある工程iの欠陥修正工数Iは、以下の式で求めることができます。
欠陥修正工数I=Σ欠陥修正量I×欠陥修正生産性i
尚、設計・実装工程(基本設計~コーディング)で作りこんだ欠陥の修正工数の扱いは、テス ト見積りの範囲とするか、設計・実装工程のソフトウェア開発見積りの範囲とするかを、予め決 めておく必要があります。
4.7.2 欠陥修正による再テスト工数の把握
ソフトウェアテストで検出された欠陥は修正され、再度、確認テストが行われますので、再テ スト工数は欠陥を作りこんだ欠陥修正量を入力として算出することができます。
再テスト工数は、あらかじめ蓄積した実績再テストデータ(欠陥修正量、再テスト工数)から 単位欠陥修正量あたりの再テスト生産性を設定しておくことで、予測が可能になります。例えば、
ある工程iの再テスト工数Iは、以下の式で求めることができます。
再テスト工数I=Σ欠陥修正量I×再テスト生産性I
見積り時点で、ソフトウェア欠陥の内容を予測することは困難です。しかし、修正は改良開発 と同じ作業プロセスとなるため、欠陥修正による影響範囲が修正母体の特定部分に局所化されて いるか、それともシステム全体に分散されているかによって、工数は違ってきます。よってテス
91
ト進行中での修正作業計画には、修正によるテスト巻き込み量などを考慮しておく必要がありま す。