3.1.2 Benefits of Static Testing

Static testing techniques provide a variety of benefits. When applied early in the software development lifecycle, static testing enables the early detection of defects before dynamic testing is performed (e.g., in requirements or design specifications reviews, backlog refinement, etc.). Defects found early are often much cheaper to remove than defects found later in the lifecycle, especially compared to defects found after the software is deployed and in active use. Using static testing techniques to find defects and then fixing those defects promptly is almost always much cheaper for the organization than using dynamic testing to find defects in the test object and then fixing them, especially when considering the additional costs associated with updating other work products and performing confirmation and regression testing.

Additional benefits of static testing may include:

  • Detecting and correcting defects more efficiently, and prior to dynamic test execution

  • Identifying defects which are not easily found by dynamic testing

  • Preventing defects in design or coding by uncovering inconsistencies, ambiguities, contradictions, omissions, inaccuracies, and redundancies in requirements

  • Increasing development productivity (e.g., due to improved design, more maintainable code)

  • Reducing development cost and time

  • Reducing testing cost and time

  • Reducing total cost of quality over the software’s lifetime, due to fewer failures later in the lifecycle or after delivery into operation

  • Improving communication between team members in the course of participating in reviews

Last updated