- ベストアンサー
バグ率の求め方
ソースのステップ数からそのソースに含まれうる潜在的なバグ件数を求めたいのですが、何か参考になる計算式(求め方)などありましたら教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
『実践的 ソフトウェア開発工程管理』からの引用です。 Bt:摘出不良目標値 St:作業ステップ数(K) Nb:何件の不良摘出を行うかの件数を示す。 大まかには、30~40位が妥当 Bt = St * Nb
その他の回答 (3)
- root139
- ベストアンサー率60% (488/809)
以前にCOBOLで開発していたときの単体テストでの基準は下記のようになっていました。 テスト密度 8~12ステップに1テスト バグ密度 3~8テストに1つ したがって、24~96ステップにつき1つバグがあるという計算になりますね。 この基準よりバグが多ければ、コーディングの品質が悪すぎるとされ、少なければ、単体テストでバグの検出が十分にされていないと判断されました。 これがそのプロジェクト固有の基準だったのか、一般的なものだったのかは分かりません。 他の方も指摘されていますが、実際には、ドキュメントの質や量、プログラマのスキル・性格・健康状態によって大きく変わってきますので、やはり、過去の実績にしたがって決めるのが良いと思います。
お礼
返信が遅くなりました。 今回はCOBOLでの開発ではないですが、参考にさせていただきます。 ありがとうございました。
- notnot
- ベストアンサー率47% (4900/10358)
探せば数字は見つかるでしょうが、それが適用できるかどうかは難しいですね。 設計書のレビューがどの程度まじめにやられているか。開発ツールの差。プログラムデザイナ(プログラム単位の仕様書を書く人)がコーディング・単体テストまで行うのか、コーダーが別なのか。途中での仕様変更の規模。オンライン型かバッチ処理型か。 等々の要因で違ってくるでしょう。 社内での評価(ノウハウ蓄積等)に使うだけならいいのですが、請負開発でお客さんに出してしまうと、テスト実績との差異についてきちんと説明が出来なければなりません。 >やはり計算式など存在せず、過去の実績より算出するほかないのでしょうか? 社内実績があればそれを使うのがいいと思います。 あとは過去実績や書籍から拾った数字は一応出すとして、「今回の開発はこれこれという特色があるので、それより小さく(大きく)なるだろう」という予測を入れて、あくまでの参考値として数字を出すという手もあるでしょう。
お礼
返信が遅くなってすいません。 やはり過去の実績から導き出すのが一番理想的な値が取れそうですね。 ただ、今回は客先にて全く関わりのない会社が作ったものでしたのである一定の基準がないか相談しました。 とりあえず、他サイトにて1Kステップあたり30~40っていうのを見つけたのでそれを基準に先方にお話してみます。 ありがとうございました。
- SteveStrawb
- ベストアンサー率18% (141/774)
開発するソフトウェアの担当プロジェクトのスキルを含めた人員構成の要因により、バグ率は変動するので、過去のバグ率をもとに統計的に考慮します。 実際には1キロステップ(1000行)のコーディングあたりに何個のバグが出たかの数値がバグ率であり、この値は2~3個である優秀なプロジェクトもあるでしょうし、50~100個といったちょっと注意散漫ぎみなプロジェクトもあることでしょう。それらの数値からどのように考えるかは開発する企業によって異なっています。 たとえば、この会社の平均バグ率は25であるから、1000行あたりにつき25個のバグが出ていないってのは、まだ潜在しているバグを発見できていないって事になるから、もっともっとテストしてバグをたたきだせ!よいうような開発方針になったりします。
補足
ご回答ありがとうございます。 はい。バグ率の考え方自体は私も把握しているつもりです。 そこで、現在動いているプロジェクトに対して、バグがどのくらい潜んでいるのかの想定数を求める計算式が世の中に存在するのか否かを知りたくご質問させていただいております。 やはり計算式など存在せず、過去の実績より算出するほかないのでしょうか? もしくは一般的にnステップ数あたりm個のバグが潜んでいるという値というものはないものでしょうか?
補足
早速のご回答ありがとうございます。 この計算式で求められる想定値は結局のところNbの値によるということですよね。 そうなると結局、妥当値(Nb)= 想定値(Bt) ということになりますよね? なんとなく1Kステップあたり50件くらいかなーと想定はしておりましたが。 (開発手法により全く異なるというのはわかっております) 実際のところこれっていう計算式というのはないものなのでしょうか?