【Software Defect Reduction Top 10 List】では、「ユーザープログラムの約40~50%に重大な欠陥が含まれている」と言われています。
いくつかの重要な欠陥と、それらを克服する方法は?
【Software Defect Reduction Top 10 List】では、「ユーザープログラムの約40~50%に重大な欠陥が含まれている」と言われています。
いくつかの重要な欠陥と、それらを克服する方法は?
私は「些細なこと」を「ユーザーに実際に影響を与える」と解釈します。
たとえば、メニュー項目にタイプミスがある場合、それは些細な欠陥です。数字「999」を含むシートを保存しようとしたときにスプレッドシート アプリケーションがクラッシュした場合、それは些細なことではありません。
この数字が本当に 40 ~ 50% という低さだったら、私は非常に驚くでしょう。私の経験では、ほとんどすべての重要なアプリケーションには、めったに遭遇しない場合でも、重要な欠陥があります。(スプレッドシートで 999 という数字を使用する世界で私が唯一のユーザーである場合、バグは私にとって依然として非常に重要であるため、些細なこととは分類できないと思います。)
欠陥の「克服」については、単体テスト、継続的なビルド、自動化された統合テスト、手動テストの通常の集中砲火、本当に優れたユーザー フィードバック システムがあることの確認、およびバグの修正と作成に喜んでリソースを投入する経営陣です。新機能。
主観的ですが:
些細でない: ユーザーの作業を停止する、または生産性に大きな影響を与える欠陥 些細な: ユーザーを悩ませるだけの欠陥
明らかに、ここには大きな灰色の領域があります。ある製品にとって厄介で些細なことは、別の製品にとっては厄介でも些細なことではないかもしれないからです。
まず、ほとんどの単一の欠陥は取るに足らないものであることに注意してください。テストはそれらを発見することを目的としています。
そのため、重要な欠陥は通常、2 つ以上の単一の欠陥の組み合わせであり、それぞれが単独では無害です (テスト入力はそれらをトリガーしませんでした)。
非自明性の 2 番目のステップは、時間が入力/出力空間の一部である場合、つまり特定の日付または期間です。
次に、仮定と現実の間の不一致を追加できます: コンパイラ、ターゲット プラットフォーム、入力など。
そのすべてを振り払い、力があなたと共にありますように...
最初に反対側を理解するようにしてください: 些細な欠陥。些細な欠陥は無害であるか、簡単に修正できます (UI のテキストのタイプミス、ボタンの色の誤り、ラベルが完全に整列していない)。
重要な欠陥は、パフォーマンスの問題、アプリケーションの処理、データの破損などのすべてです。これらは、発見するのが難しい場合もあれば、修正するのが難しい場合もあります。