Glossary · Automation software engineering and architecture
Automated test
Also known as: Test automation, Automated testing
German: Automatisierter Test
In software engineering, an automated test is a test whose execution, input provision and result evaluation are carried out by software rather than by a person, so it can be repeated consistently, for example on every change in a continuous integration pipeline.
- Software engineering
In one sentence
An automated test is executed and evaluated by software, so it can be repeated consistently on every change.
Example
Each commit to the PLC library triggers automated unit tests on a virtual controller that check the valve block's timeout and feedback-error behavior.
How it applies
- Engineering: Automated tests make regression testing affordable. In automation software they run against simulated I/O, virtual controllers or Hardware-in-the-loop test rigs, depending on how close to the real machine the test must be.
- Release: A Continuous integration (CI) pipeline runs automated tests before a change can be merged, which gives early feedback and a documented test history.
- Documentation: Test reports generated by the pipeline are evidence of what was tested on which version. Keep them linked to the Configuration baseline. The documentation team can also use automated checks for manuals, such as link checks or screenshot comparisons.
Automated test vs. manual test
Automated tests are fast, repeatable and good at catching regressions. Manual tests are better for exploratory checks, usability and situations that are hard to simulate, such as mechanical behavior on the real machine. Most projects need both.
An automated test only checks what it was written to check; a green test run is not proof that a system is correct or safe. Tools used to produce safety evidence may need their own qualification.