I have been perusing a number of job descriptions and many of them refer to 'Must have the ability to write test automation'. I understand what unit testing is, such as NUnit/JUnit, and I'm capable of writing great tests under both... but is that what is meant by 'test automation'? If not, what does it mean?
There are lots of tools and frameworks for test automation. They are more commonly used by people in a QA role, not a developer role (developers build unit tests).
When we're using "Tests automatisés" (french for "Automated tests") here in France, it often means either (or both) :
- Automated unit-tests ; using JUnit/nUnit/PHPUnit/...
- Or Automated functionnal-tests ; for instance, using something like Selenium, when we are talking about web-applications.
The important thing being, of course, the "automated" part : those tests, especially for the functionnal ones, could be done by hand.
It probably means automating the testing of the whole system, not just classes. Tools like Fitness, TestDirector, etc help in this sometimes. In many cases writing a proprietary set of scripts to test the system is the best way though..
It means using software/tools for execution of tests. It may involve using Automated testing tools like WinRunner or Test Director. However in your case I think it is mainly writing test scripts.
See this for more -
IMHO 'Test Automation' covers a number of activities around the Quality Assurance side of the SDLC. If you're following the watefall method than the steps that could include Test Automation would be Functional Test (or 'first pass testing') and / or QA testing ('last chance' testing). Normally both of these tasks would be performed by someone in a Test role.
Apart from the above, other tools that might assist a Automation Tester include LoadRunner (for performance testing) or Quick Test Professional (which we use here).
If you're working in a Extreme Programming environment some of the testing function may be assisted by a developer running tests with nUnit/JUnit - so the defintion of 'Test Automation' may need to consider the environment the testing is peformed within.