Test automation (Concept)

March 27, 2025 · View on GitHub

Description

Improve software quality by building reliable automated test suites and performing all kinds of testing throughout the software delivery lifecycle.

Tags

capability, technical, core

Documentation

The key to building quality into software is getting fast feedback on the impact of changes throughout the software delivery lifecycle. Traditionally, teams relied on manual testing and code inspection to verify systems’ correctness. These inspections and tests typically occurred in a separate phase after “dev complete.” This approach has the following drawbacks:

  Manual regression testing is time-consuming to execute and expensive to perform, which makes it a bottleneck in the process. Software can’t be released frequently and developers can’t get quick feedback.
  Manual tests and inspections are not reliable, because people are poor at repetitive tasks like manual regression tests, and it is hard to predict the impact of changes on a complex software system through inspection.
  Once software is “dev complete”, developers have to wait a long time to get feedback on their changes. This usually results in substantial work to triage defects and fix them. Performance, security, and reliability problems often require design changes that are even more expensive to address when discovered at this stage.
  Long feedback cycles also make it harder for developers to learn how to build quality code, and under schedule pressure development teams can sometimes treat quality as “somebody else’s problem”.
  When developers aren’t responsible for testing their own code it’s hard for them to learn how to write testable code.
  For systems that evolve over time, keeping test documentation up to date requires considerable effort.

Instead, teams should:

  Perform all types of testing continuously throughout the software delivery lifecycle.
  Create and curate fast, reliable suites of automated tests which are run as part of your continuous delivery pipelines.

Not only does this help teams build (and learn how to build) high quality software faster, DORA’s research shows that it also drives improved software stability, reduced team burnout, and lower deployment pain.

Other Relations

FromNameToDescription
Test automationenablesFast Feedback

List of views in namespace

List of all Views

(generated by Overarch with template docs/node.md.cmb)