Skip to main content
T
t
Glossary Term

Test automation

Test automation is the use of tools to automatically test software for errors.

By IT Brew Staff

less than 3 min read

Back to Glossary

Definition:

For many years, software developers and other IT professionals tested software manually, ensuring code was bug-free and ready for broader distribution. However, the rise of automated testing tools has enabled software teams to automate this testing and speed up the software testing and development life cycles.

While many teams still rely on manual testing for some parts of the software development process, test automation allows them to cover more code and squash more bugs before they become a problem. Unlike human testers, an automated tool won’t become bored or distracted.

Test automation can extend to unit testing, integration testing, regression testing, and more. Automated testing is also critical to continuous integration and continuous delivery/deployment (CI/CD), which is designed to streamline and automate significant parts of the software development life cycle. As part of continuous integration, new code and tweaks committed to a project’s main branch are automatically tested; if the tests are passed, the code is automatically deployed to a staging environment (with continuous delivery) or a production environment (with continuous deployment).

Manual testing is still useful in numerous scenarios, including exploratory testing, or when a developer needs to quickly figure out the root cause of an unusual scenario during software development. Many aspects of development also require a human to make a call on a particular output—for instance, a UX effect on a customer-facing website. But for other kinds of tests, particularly repetitive ones, test automation can help developers compress testing time from days or hours to minutes.

But effective test automation also demands a lot of prep work. Before a team can begin to automate, they must define their goals for testing, select the right tools, set up a dedicated test environment, and commit to tweaking their automation pipeline based on results and feedback.