About test automation
Last modified on Wed 11 Feb 2026

Quality is the ally of schedule and cost, not their adversary. — James A. Ward

This article explains what test automation is for, when it helps, and how to think about it so you can make good decisions and avoid common pitfalls. Understanding the trade-offs helps you choose what to automate and how much to invest in maintenance.

What you gain

What automation does not do

Principles that actually help

These principles are less about “best practices” and more about designing for change and clarity.

Tests should be easy to read and change

Tests should be trustworthy and purposeful

These ideas apply across UI, API, and unit tests; the same mindset makes automation easier to maintain and more useful over time.


What to test: the test pyramid

Automation is usually spread across several levels, often pictured as a test pyramid: many fast unit tests at the base; fewer integration/API tests in the middle; and fewer, slower UI tests at the top.

Read Martin Fowler’s Practical Test Pyramid for a solid grounding.

test-pyramid.png

The pyramid is a heuristic, not a rule. It reminds you that:

Unit tests

API / integration tests

UI tests

When choosing what to automate at the UI layer, focus on regression and smoke first; then add scenarios that would be painful or risky to run manually. Avoid automating everything “because we can.”


Deciding what to automate

More automation is not always better. Poor or unnecessary automation wastes time and creates false confidence.

Automate when it pays off

Think twice or avoid when

Questions to ask

If a test is flaky and you repeatedly “fix” it without addressing the root cause, consider removing it or converting it to a manual check. Flaky tests drain trust and time. See the section on flaky tests in Test automation conventions.


Summary

For concrete tooling and patterns, see Tools in test automation and Test automation conventions.