Home > Articles > Programming

An Overview of Common System and Software Testing Pitfalls

  • Print
  • + Share This
Donald G. Firesmith explains what testing is, testing and the V models, why testing is critical, the limitations of testing, what a testing pitfall is and how to categorize them, and pitfall specifications.
This chapter is from the book

1.1 What Is Testing?

Testing is the activity of executing a system, subsystem, or component under specific preconditions (for example, pretest mode, states, stored data, and external conditions) with specific inputs so that its actual behavior (outputs and postconditions) can be compared with its required or expected behavior.

Testing differs from other verification and validation methods (for example, analysis, demonstration, and inspection) in that it is a dynamic, as opposed to a static, analysis method that involves the actual execution of the thing being tested.

Testing has the following goals:

  • Primary goal:

    • Enable the system under test (SUT) to be improved by:

      • “Breaking” it (that is, by causing faults and failures)
      • Exposing its defects so that they can be fixed
  • Secondary goals:

    • Provide adequate confidence based on sufficient objective evidence regarding the SUT’s:

      • Quality

        A system’s quality is not just its lack of defects or its correctness (in terms of meeting its requirements). A system must also have the necessary levels of relevant quality characteristics and attributes; for example, availability, capacity, extensibility, maintainability, performance, portability, reliability, robustness, safety, security, and usability.

      • Fitness for purpose
      • Readiness for shipping, deployment, or being placed into operation
  • + Share This
  • 🔖 Save To Your Account