欠陥が潜在するソフトウェアをテストして、実際に欠陥がほとんどゼロに近づいたかどうかを予測することは、非常に困難である。
ソフトウェアの潜在欠陥数を推定するには、いくつかの方法が知られている。
ひとつは、「クジラの個体数推定のアナロジー」として知られている方法である。
クジラの個体数推定のアナロジーは、広い海の或る海域に棲息するクジラの数をできるだけ正確に知ろうとする方法で、先ず一定数のクジラをその海域で捕獲し、捕獲したクジラにマークを付け、再びその海域に放ち、再び捕獲した時に、マークしたクジラが捕獲した総数に占める割合によって、その海域全体のクジラの数を推定する方法である。
このアナロジーと同じ方法でソフトウェア潜在欠陥数を予測する方法は、欠陥埋込法または捕獲・再捕獲法と呼ばれている。この欠陥埋込法を使ってソフトウェアの潜在欠陥数を予測することが可能になる。
ソフトウェア欠陥埋込法の場合には、本番のテストを実施する前に、いくつかの欠陥を発見しておき、それらを記録した後、修正せずにしたまま本番のテストを実施する。これによって本番のテストでは、記録されている既知の欠陥と未知の欠陥が発見される。この既知の欠陥と未知の欠陥の数の割合から、ソフトウェアに潜在する総欠陥数を推定することができる。
ふたつ目は開発組織やチームの過去の実績から作り込み欠陥数を予測する方法である。
一般にソフトウェアの作り込み欠陥数は、ほぼ投入工数に比例すると考えられるため、ソフトウェア開発での投入工数と単位工数当たりの作り込み欠陥数が分かれば、以下の式より全体の発生欠陥数を推測することができる。
◇推定発生欠陥数=投入工数*単位工数当たりの作り込み欠陥数
しかし、単位工数当たりの作り込み欠陥数は、開発能力や開発環境に依存するので、常識だけでは精度の良い結果は期待できない。
みっつ目は、ソフトウェア品質信頼性成長モデルによって、潜在欠陥数を推論することが可能である。
このソフトウェア品質信頼性成長モデルとして「ゴンペルツモデル式」がある。ゴンペルツモデル式は、開発プロジェクトの発生欠陥数の累積曲線を予測する方法として歴史は古く、確立された手法であり、広く知られた手法であるが、本書では「レイレイモデル式」を取り上げる。
レイレイモデル式の場合も、経験的な実績データ(例えば、開発サイズ(SLOC)、開発工数、開発期間、発生欠陥数など)をインプット情報として、新規開発の品質信頼性成長傾向を推論することは、他の品質信頼性成長モデルと同様である。
この実績データが曖昧であると、品質信頼性成長曲線の形状が極端に変わってしまうので注意しなければならない。そのため、総欠陥数の再現性傾向が分かるまで、そのレイレイモデルを使用し続け、使いこなす必要があることを言い添えておきたい。
次に、第2章では「ソフトウェアの品質とは?」について品質定義することを試みている。欠陥とバグがゼロであれば、品質の良いソフトウェアと云って良い。しかし、これは当たり前の品質であり、品質の良い悪いはこれだけで論ずることは難しい。
品質を正確に定義することは難しいが、「品質とは?」を明らかにせずに、品質の話は語れないからである。
そして、第3章で、企業や組織の品質信頼性を計るバロメーターについて触れることにする。
ソフトウェアの品質は、欠陥や不適合が発生した時に、それに対応するためにどの位のお金を使ったかで表すことができる。これをワランティ損失コストと呼んでいる。
ワランティ損失コストは、ソフトウェアの出荷後に、欠陥や不適合に関わる対策や改善、修理およびリコール・回収などによって所要した損失コストを云い、開発したソフトウェアの品質を最終的に集約した品質信頼性を計るバロメーターとなる。
また、他に、品質信頼性を計るバロメーターとして、DOA率(Dead On Arrival)、MTTD(Mean Time To Defect)MTTR(Mean Time To Repair)などを取り上げる。
品質革新は一朝一夕にはいかない。これらのバロメーターを目標指標にして、改善を繰り返し、改革を継続的に繰り返したときにこそ、品質信頼性成長パターンが理想的になり、
社会に品質の良いモノを提供し続けることが可能になると考える。
This site is safe
You are at a security, SSL-enabled, site. All our eBooks sources are constantly verified.