Automation is applied for various types of tests during mobile application testing, desktop testing, web site testing.
Automated tests serve not only for verification of the system. They can be used as software documentation if they are written and maintained correctly.
Unit testing is performed on every application build, unit tests are developed and updated together with the system. This fact makes them a reliable source of information about the program. Well written code is understandable for those, who are familiar with programming.
The thing is that programmers rarely use software documentation. There are many reasons for that. As a matter of fact, project documentation is often maintained carelessly, it may be incomplete, written in a sophisticated manner and so on.
Automated Tests Can be Used as Program Documentation if They:
- provide sufficient coverage; verify the whole code and functions of the system;
- are operational and updated; if the tests don’t work or haven’t been edited after modification or further development of the system, they do not provide true information about it; the tests that are included in unit testing and regularly run are reliable;
- clear and refactored; if code of the tests is too long and sophisticated, they are hard to understand; not all the tests can be used as a source of information about the program.
Not only unit tests are automated, automation is applied for regression testing, functional testing, performance testing, etc. as well.