• 検索結果がありません。

ソフトウェアテストと障害発生状況についての分析

ドキュメント内 テスト見積り (ページ 119-122)

第2部 事例編

4 東京海上日動システムズ

4.2 ソフトウェアテストと障害発生状況についての分析

弊社で実際に開発した案件について、テスト工程の品質(障害発生状況)と作業量や期間を分析 した結果、プロジェクト毎に状況は異なるものの、テスト工程での品質と作業量・期間にはある程 度の相関関係があることが明らかになってきている。

(1)システムテスト工程と品質

結合テスト、システムテストの障害密度と生産性、本番での障害発生度合いとの関係を、平均 以上・以下で 4 分類(表 4.1 参照)してみると、以下の結果となった。

結合テスト・システムテストともに平均以下のグループは、全体の生産性が高く、サービ スイン後の障害は少ない。

一方、結合テストは平均以下だが、システムテストで平均以上の障害が発生するグループ が、全体の生産性が最も低く、サービスイン後の障害も多い。

表 4.1 テスト工程の障害密度分類と生産性・本番障害密度の関係

テスト工程の障害密度分類 合計生産

本番障害 密度 結合テスト:少、システムテスト:少 100% 100%

結合テスト:多、システムテスト:少 81% 201%

結合テスト:多、システムテスト:多 76% 319%

結合テスト:少、システムテスト:多 56% 409%

結合テスト・システムテストともに平均以下のプロジェクトを 100%とした 場合の生産性、本番障害密度の割合を示したもの。

この結果、システムテストで多くの障害が発生するプロジェクト、すなわち結合テストの完了 時点で品質が悪いプロジェクトは、サービスイン後も含めてその後の工数や費用が多くかかる傾 向が見える。システムテストの開始前に、結合テストの品質を確認・評価することは非常に重要 なことである。

しかしながら、結合テストの終了後、システムテスト開始前に、結合テストまでの品質を詳細 に検証する時間を取ることは、スケジュール的にも工数的にも難しいことが多い。システムテス トの前半(遅くとも中間時点)には障害発生状況などを踏まえ、品質をしっかり評価するととも にテストケースの追加や要員の追加投入などの対策を立てることが極めて重要である。

(2)システムテスト工程と生産性

さらに、テスト工程の品質と生産性の相関を分析してみると以下の結果となった。

システムテスト工程の費用(工数)は開発全体の 3~5 割を占める。(図 4.1)

テスト工程での品質が低いものほど、全体の生産性が低い傾向がある。(図 4.2)

図 4.1 は、表 4.1 の4分類の内、最も本番障害が少ないケースと、最も多いケースについて工程 別の工数割合を分析したものである。

図 4.2 は、システムテスト工程での障害密度と、合計生産性の相関を表したものである。システ ムテスト工程での品質が高い(検出障害が少ない)ものは、テスト工程の工数割合が少なく、生産 性も高いという結果となった。

テスト工程の効率化と品質対策はあわせて考えていく必要がある。またテスト期間の短縮と品質 は必ずしもトレードオフという関係でなく、テストの内容・実施方法・管理方法により改善すべき 問題であることが分かる

121 22%

24%

23%

33%

13%

17%

41%

結合テスト   少 27%

システムテスト 少

結合テスト   少 システムテスト 多

障害率

要件検討 詳細設計・製造 結合テスト システムテスト

<工程別工数割合>

図 4.1 プロジェクトの工程割合と障害率

システムテスト 障害密度と生産性の分布

障害密度

生産性

図 4.2 システムテストの生産性と障害密度

(3)開発期間の予実績と品質

開発期間全体の予実績で予定より期間が長くなったもの・ほぼ同じ・少ないものに 3 分類して工 程別期間の割合の予実績とシステムテストの障害密度の相関を分析した。(表 4.2)工程別期間の予 定はほぼ同じであるが、期間延長となったものは、要件検討とシステムテスト期間の実績が予定よ り長くなり、工程の重なりも多いことがわかる。

さらに、期間延長となったものはシステムテスト工程での障害摘出密度も高い。

表 4.2 合計期間に対する工程別期間の割合予実績と、システムテストの障害密度

期間短縮

(予定)(実績)

ほぼ予定通り

(予定)(実績)

期間延長

(予定)(実績)

平均

(予定)(実績)

要件検討 33% 31% 29% 34% 30% 43% 30% 34%

設計・製造 38% 34% 37% 38% 35% 30% 37% 37%

システムテスト 40% 36% 39% 38% 40% 45% 40% 38%

のべ期間※1 111% 102% 106% 111% 106% 117% 107% 109%

障害密度※2 85% 102% 170% 100%

※1:のべ期間 各工程毎の割合の合計。100%より大きいほど工程の重なりが多い。

※2:障害密度(システムテスト) 全体を 100%とした場合の開発規模あたり障害検出割合

(4)全体として

当初の見積もり時は平均的な工数で計画することが多いため、テスト工程の品質が悪いものほど、

プロジェクトの最終局面で工数超過・費用超過が発生しやすく、プロジェクト管理上のリスクが高 まる。システムテスト工程は全開発工程の中で大きなウェイトを占める部分であり、全体の見積・

実績に影響が大きい。

テスト工程での品質の低下の回避の取り組みはもちろん重要であるが、ばらつきのあるプロジェ クト 1 つずつについて、品質低下の兆候を早期に把握し、その後の計画見直し(見積もりの見直し)

につなげ、プロジェクトを成功に導くことの重要性があらためて明らかになった。

ドキュメント内 テスト見積り (ページ 119-122)