Test Failures

ISTQB differenciates in it’s terminology the following aspects for failures:

  1. Human Mistakes
    They can occur due to communication gaps, incomplete specifications or misunderstandings. They are the root of any application related faults, and cannot be avoided as humans do make mistakes.
  2. Error Condition
    These are software bugs, environmental issues (incompatible frameworks), incorrectly configured environments (e.g. not matching the test scenario), etc.
  3. Failures
    These are the visible findings or issues, which can be identified by testers or users. As multiple error conditions might be in place (which are not visible for users), the only way to identify the root cause of the behavior is debugging throug software developers.

For avoiding failures in productive environments, there are given quality assurance measures:

  1. Constructive measures
    aims to avoid error conditions preventively e.g. by using unit-tests, ensuring correct specifications and documentation. Used methods are Failure Mode and Effect Analysis (FMEA), Fault Tree Analysis (FTA) and Ishikawa-Analysis / Cause-Effect diagram.
  2. Analytical measures
    aims to identify errors through:
    • Formal reviews
      e.g. guidelines and standards
    • Logical reviews
      e.g. consistency, free of contradiction, completeness
    • Software-Testing
      e.g. static testing (application is not executed) and dynmaic testing (application is executed)
    • Static and dynamic procedures
      used in different Test Stages. Static reviews can be executed by utilizing SonarQube or Veracode.