2015年5月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
無料ブログはココログ

« 【定量的品質予測のススメ】ソフトウェア信頼度成長モデルはお勧めなのか | トップページ | 【定量的品質予測のススメ】測定項目はどう定めるべきか »

2008年12月25日 (木)

【定量的品質予測のススメ】ソフトウェア信頼度成長モデルの横軸は何を取ると良いか

P91「1. ソフトウェア信頼度成長モデルとは」において、「横軸は、経過時刻だけでなく、消化テスト項目数や作業工数等を取ることが多い」とある。

さらりと書いてあるが、ソフトウェア信頼度成長モデルの本質に関わる事項である。

まず、横軸をどう取ろうとも同じ曲線になるのであろうか。
否である。

経過時間と消化テスト項目数、作業工数とそれぞれで取れば、それぞれ異なる曲線となることは容易に想像できよう。

そうであるのに、何故一まとめにして「横軸は、経過時刻だけでなく、消化テスト項目数や作業工数等を取ることが多い」と言うのであろう。

ここで、P64「(6)信頼度成長モデルの適用条件の考慮」に書かれている「横軸に指定した単位間で同じテスト密度になるように、単位を設定することが理想である。しかし現実には難しく、横軸としてテスト日数やテスト消化率、テスト工数を取ることが多い。したがって予測の解釈には注意が必要である」という記述を思い出したい。

本書ではP91とは離れた場所で、横軸には偏りのないものを取るべきであるが、経過時間にしろ、消化テスト項目数にしろ、作業工数も、どれも「横軸に指定した単位間で同じテスト密度になるように、単位を設定すること」ができない代用軸であると認めているのだ。
であるのにP91では「横軸は、経過時刻だけでなく、消化テスト項目数や作業工数等を取ることが多い」と代用軸ではないかのように書かれている。

それぞれ見てみよう。
経過時間につれ、確かに欠陥発見件数は増えようが、1項目のテストに半日かかる日もあれば、数秒で終わるものもあろう。そうであれば、経過時間当たりの指摘欠陥数も、個々でみれば大きなばらつきがでよう。

消化テスト項目数にしても、どのようにテストするか、オンライン処理の細かい1項目とバッチ処理が同じ1件で計上して良いのか、何をもってテスト1件とするのか、という1件の重み付けの問題がある。

作業工数は、テストのための仕込み工数もなぜ含めるのか。確認が大変なテスト1件と容易なテスト1件ではなぜ違いがあるのか。

そもそも、経過時間と消化テスト項目数、作業工数と横軸に種類があるのに、なぜ曲線の種類に、「経過時間」用、「消化テスト項目数」用、「作業工数」用がないのか不思議に思うべきである。

そのようなものはない。

ソフトウェア信頼度成長モデルは、理想的テスト条件の元で、累積指摘欠陥数は立ち上がりが急で、段段と平坦に収束するはずだという思い込みから出発しているのであるから。

そして曲線も、どんな立ち上がり方でも寝方でも対応できるような式を探しているだけの話で、「ソフトウェア開発においては、これこれこのような理由から、本質的にこれこれのような曲線になる」と論理的に証明されているものではない。

実際にデータを取ってみて、当てはめて、「あ、この曲線が合いそうだね、じゃあ、あと何件の指摘を挙げよう」と言っているだけのものである。

さて、本書では横軸に、経過時間と消化テスト項目数、作業工数の3つが例示されているが、どれを取っても同じ管理が出来るのであろうか、それとも、それぞれ別の意味を持つのであろうか。

経過時間なら、あと何時間テストをすれば良いかというテスト期間の推測としての活用になる。
納期との調整に使用することになる。
しかし、テストしてもしなくても時間は過ぎていくがそれも数えて問題ないのだろうか。

消化テスト項目数なら、あと何件テストをすれば良いかというテスト件数の推測としての活用になる。
網羅率やテストパターン見直しの話になる、
しかし、テスト1件とはどういう意味かの議論になる。

作業工数なら、あとどれだけの工数分だけテストをすれば良いかというテスト時間の推測としての活用になる。
現在保有要員で出来るか追加が必要かの話となる。
しかし、そもそも工数がかかるテストとかからないテストがあるがどうするのかという話がある。

もし、ソフトウェア信頼度成長モデルがきれいに適用できるのであれば、これら3種はそれぞれ作成すべきものであろう。
納期と要員、追加テストのやりくりを総合的にみるためにはそれぞれが必要であるから。

しかし、実際の開発現場では、この3つもしくは他の横軸のいずれか1つで管理されていることが多いであろう。

経過時間と消化テスト項目数、作業工数のいずれが良いのかという議論さえある。

「横軸は、経過時刻だけでなく、消化テスト項目数や作業工数等を取ることが多い」とだけいうのではなく、それぞれどのような意味を持ち、長所短所はなにかの説明がないと、今からソフトウェア信頼度成長モデルを使おうという組織では、どれを選べばよいか、それともどれでもよいのかが、わからないであろう。

ソフトウェア信頼度成長モデルによる予測はそもそも賛否両論のある手法なので、積極派と消極派の考えを対比的に記述されていると良かったであろう。

« 【定量的品質予測のススメ】ソフトウェア信頼度成長モデルはお勧めなのか | トップページ | 【定量的品質予測のススメ】測定項目はどう定めるべきか »

定量的品質予測のススメ」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1048600/25961791

この記事へのトラックバック一覧です: 【定量的品質予測のススメ】ソフトウェア信頼度成長モデルの横軸は何を取ると良いか:

« 【定量的品質予測のススメ】ソフトウェア信頼度成長モデルはお勧めなのか | トップページ | 【定量的品質予測のススメ】測定項目はどう定めるべきか »