Test Automation is meant to different things to different people working in different domains. This generic phrase is (ab)used by few people and lot of people using it without understanding the meaning. Generally, we take this as conductiong the test by machine to find bugs. Conducting test includes code analysis, code coverage, unit test, record and play back and other methods.
We all know that Testing consist of two different things, performing the test and finding bugs. Test automation is about performing the tests. Finding bugs will left to the human testers. Let me list out the test automation methods available,
1. Record and Play back(UI automation)
2. Code coverage
3. Unit testing using frameworks
4. Code analysis (static and dynamic)
5. Memory profiling and Performance analysis.
The list is not an final one. As I come to know, more ways to test it will be updated.