Distinguish between software errors, software faults and software failures. Give an appropriate live example to differentiate.

Introduction to Error, Defect, and Failure

Let’s try to understand the inter-relation between Error, Defect, and Failure:

It is well said by Thomas Muller “A person can make an error (mistake), which produces a defect (fault, bug) in the code, in software or a system, or a document. If the execution of the defect in code happens, the system will fail to do what it should do (or something it shouldn’t), which causes a failure.”



 Fault : It is a condition that causes the software to fail to perform its required function.

Error : Refers to difference between Actual Output and Expected output.

Failure : It is the inability of a system or component to perform required function according to its specification.


IEEE Definitions

Failure: External behavior is incorrect

Fault: Discrepancy in code that causes a failure.

Error: Human mistake that caused fault


Note:

Error is terminology of Developer.

Bug is terminology of Tester

What is Quality? How quality is related to testing?

 What Is Quality Assurance?

Quality assurance is a way to avoid mistakes in the project’s product or service, and thus prevent problems for your stakeholders. It’s the part of quality management that focuses on maintaining the integrity of the product or service, which gives stakeholders the confidence that their quality requirements will be met. It is, therefore, a foundational pillar of project management.

The Difference Between Quality Assurance and Quality Control

The difference between quality assurance and quality control is subtle but significant, although both terms are often used interchangeably to describe the quality management of the project’s product or service.

The difference is a matter of where the focus occurs in a project. Quality control is more concerned with quality earlier in the project process. Assurance, though, is more about the implementation of inspection and structured testing throughout every phase of the project.



Quality Assurance Approaches

  • Failure Testing: Also referred to as stress testing, failure testing is a way to push a product to its limits by increasing vibration, temperature, humidity, etc., to expose inherent weaknesses, and then use those findings to improve the product to uphold a higher standard.
  • Statistical Control: This type of quality assurance is based on analyses of objective and subjective data to track quality data, and then chart it against a common cause variance.
  • Total Quality Management: Here the quality of the product is dependent on the participating constituents, some sustainable and controllable, others not. If the specification does not match its true quality requirements, then the quality is not guaranteed.
  • Models and Standards: This is an international standard that has general requirements for competence. There are tests to carry out, 15 management requirements and 10 technical requirements, in a laboratory that is accredited.
  • Company Quality: This concept came about in the 1980s and focuses on all departments approaching quality lead by management to develop a quality improvement process. This is done through controls, job management, process, performance, knowledge, skills and experience, integrity, confidence and infrastructure.