What Does Automated Testing Mean?
Automated testing (software test automation) is an approach to verifying code that makes use of special software tools that execute tests automatically and then compare actual test results with expected results.
Automated testing plays an important role in continuous delivery
(CD), continuous integration
. The key advantages to automated testing include:
- Automated tests save developers time and money by making the testing process more efficient.
- Automated tests identify errors more efficiently when compared to manual testing.
- When tests are automated, multiple testing tools can be deployed in parallel.
In software development, it is particulary useful to run automated tests during the build process to ensure an application does not have compilation errors and performs its intended function.
Taking the time to automate software tests will ultimately save developers time by reducing the risk that a code change will break existing functionality.
Techopedia Explains Automated Testing
Testing is a very important phase in the development process. It ensures that all the bugs are ironed out and that the product, software or hardware, is functioning as expected or as close to the target performance as possible. Automated tests, rather than manual tests, are essential for consistently delivering cost-effective software that meets users' needs in a timely manner with minimal defects.
Popular types of automated tests used in software developement include:
Unit tests -- tests an individual, low-level program in an isolated environment before testing its integration with other units.
Integration tests -- unit tests and other application components are tested as a combined entity.
Functional tests -- tests whether a software system behaves is as it should.
Performance tests -- evaluates the robustness of the application under higher-than-expected loads. Performance testing will often reveal bottlenecks.
Smoke tests -- determines if a build is stable enough to proceed with further testing.
Browser tests -- verifies that software components are compatible with various browsers.
Manual testing is still being done in various periods during development, but this is mostly done by developers or hardware engineers themselves to quickly test whether changes they've made have produced the desired effect.