· 

ソフトウェアにおける、Error/Bug/Failure/Faultの違い

ある海外のサイト(https://www.360logica.com/blog/difference-between-defect-error-bug-failure-and-fault/)でソフトウェアでの不具合(defect)を以下のようにwrong、extra、error、bug、faultに分類して、それぞれの定義をしてます。

 

wrong:

When requirements are implemented not in the right way. This defect is a variance from the given specification. It is Wrong!

要求仕様通りに実装されていない。この不具合は、仕様と食い違いが原因である。誤りである! 

missing

A requirement of the customer that was not fulfilled. This is a variance from the specifications, an indication that a specification was not implemented, or a requirement of the customer was not noted correctly.

顧客の要求が達成されていない。この不具合は、仕様との食い違い、仕様が実装されていない、あるいは顧客の仕様が正しくないことから起こる。

 

extra:

A requirement incorporated into the product that was not given by the end customer. This is always a variance from the specification, but may be an attribute desired by the user of the product. However, it is considered a defect because it’s a variance from the existing requirements.

最終顧客の要求に無い要件が製品に実装されている。この不具合は、仕様との食い違いだが、

 

error:

An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer we include software engineers, programmers, analysts, and testers. For example, a developer may misunderstand a de-sign notation, or a programmer might type a variable name incorrectly – leads to an Error. It is the one which is generated because of wrong login, loop or due to syntax. Error normally arises in software; it leads to change the functionality of the program.

 

bug:

A bug is the result of a coding error. An Error found in the development environment before the product is shipped to the customer. A programming error that causes a program to work poorly, produce incorrect results or crash. An error in software or hardware that causes a program to malfunction. Bug is terminology of Tester.

 

failure:

A failure is the inability of a software system or component to perform its required functions within specified performance requirements. When a defect reaches the end customer it is called a Failure. During development Failures are usually observed by testers.

 

fault:

An incorrect step, process or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner. A fault is introduced into the software as the result of an error. It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. It is the result of the error.

The software industry can still not agree on the definitions for all the above. In essence, if you use the term to mean one specific thing, it may not be understood to be that thing by your audience.

 

注: この定義がソフトウェア業界で公認されているわけではありませんのでご注意ください。