ソフトウェアの欠陥の原因

まとめ

人間はエラーを起こす。エラーがコード、ソフトウェア、ドキュメントの欠陥になる。コードの欠陥が実行されると故障が起きる。
オペレータがソフトウェアを操作したら想定と違う動作(インシデント)を発見した。そのインシデントを調査した結果、故障だと判明。故障の原因はとあるコードのバグによるものだった。そのバグはAさんの誤りによりコードに埋め込まれていた。

エラー/誤り

間違った結果を生み出す人間の行為。
エラーがコード、ソフトウェア、システム、ドキュメントの欠陥となる。

バグ/欠陥/フォールト(fault)

要求された機能をコンポーネントまたはシステムに果たせなくする、コンポーネントまたはシステムの中の不備。
エラーによってプログラム中にフォールトを埋め込んで実装してしまう。

故障(failure)

コンポーネントやシステムが、期待した機能、サービス、結果を提供できないこと。
すべての欠陥が故障となるわけではない、欠陥の含まれたコードが実行されなければ、故障にはならない。

インシデント

ソフトウェア・システムを実際に使うユーザーやテスト担当者が期待する動きと、実際の動きが一致しない事象。
インシデントと故障は同じではない。インシデントを調査した結果、故障ではなくユーザーのオペミスという場合もありえる。