新しいプログラムの品質レベルを追跡するためにどのような手法が推奨されていますか?彼らの方法は、 "品質レベル"のようにあまり定義されていない用語を取って、それを定量化してから予測しますか?現在私はバグ率とSカーブを使用していますが、品質レベルを評価、推定、予測するための他の方法を探しています。品質レベルの追跡と予測
答えて
これは、どのような比較を行うかによって大きく異なります。時間の経過とともに単一のプロジェクトを見ていて、チームが変わらない場合は、バグ率が意味をなさけるかもしれません。しかし、さまざまなプロジェクトを異なるチームと比較している場合は、実際にはと知られているバグの割合を比較しているため、バグ率などの比較方法はありません。あるチームが他のチームよりもバグを特定する方がはるかに優れていて、バグ率を高く見せてもらうことはできますが、本当に優れたソフトウェア品質のチームです。
this measureをお探しですか?
もっと真剣に、私のためのコード品質は保守性についてです:それは機能を変更/追加/削除するために、バグを修正することがいかに簡単であるか
- 、 それはリファクタリングするのがいかに簡単
- :あり回帰テストスイートが利用できますか?
- どのくらいtechnical debt?
コードを一度書きますが、何度か読んでください。
私はあなたのバグを数えることがそれを比較する何かをして何をするのかは分かりません。あなたが作ったソフトウェアが非常に難しく、多くの辺のケースを持っていたら?何らかの種類の比較が必要です...
他の回答の1つが明らかに冗談コードであったとしても、レビューはおそらく良い考えです。バグが多すぎる場合は、エンジニアを雇うか、コードを少なくしてください。
編集:コメントを検討した後に追加されました...
すべてのバグは、ユニークな嫌な雪のフレーク(?suckflake)のようなものです。顧客や開発者にさまざまなレベルの影響を与えます。私は少なくともこれを考慮に入れます。重大度(修正のための顧客プッシュの尺度)を追加し、それを修正するのに工数を要することにより、精度が向上する可能性があります。私が懸念しているのは、ソフトウェアを開発する際に、これがまだ「品質」を単純化し過ぎているということです。
悲しいことに、ソフトウェアの品質!=製品の品質。最近リリースされたFallout 3というゲームは、多くの賞を受賞し、(少なくとも私が推測する)たくさんのお金を払ったが、少なくともPCでは迷惑なものだった。
正しいものをトラッキングして最適化していることを確認してください。バグと時間の追跡は、バグ数と時間数を追跡するだけです。それ以上のものを読むには、正しいか間違っているという仮定が必要です。
あなたの目標は何ですか?バグはソフトウェア品質の一部に過ぎません。あなたのソフトウェアをサポートし続ける場合は、メンテナンス性が重要です。あなたのコーダーが急いで物事をした場合、多くの時間バグを修正すれば、物事を保守しにくくすることができます。これにより、将来の修正や機能が難しくなり、修正によって新しいバグが追加される可能性があります。
ユニットテストは行っていますか? 単体テストのコードカバレッジは、品質の適切な尺度になります。
はい、単体テスト時のコードカバレッジについての良い点です。ありがとう。 モンテカルロシミュレーションを予測変数として使用することについて聞いたと思います。誰もが実際にこのテクニックを使用しましたか?それは実生活でどのように機能しますか? –
- 1. 追加予測値
- 2. TFLearn時系列予測予測
- 3. 予測
- 4. 予測
バグ率がどのように有意義であるか理解していないと回答した人が2人ありました。 Y軸に見つかったバグの合計数をグラフ化します。 X軸上のチャート時間。開発とテストの間、グラフはSを形成します。平坦化曲線は、バグがなくなると品質を予測できます。 –
品質の尺度は、バグレート自体ではなく、その進化、すなわちその派生物にある。これはコードが良くなっていることを示しています(または悪化しています)。 – mouviciel
ファジーが言ったように、バグの概念が厳密に定義されていれば意味があります。 – Benson