Automated testing is one of the newer areas of software testing which is evolving fast. Testing an enterprise web application is a huge task because there might be hundreds of stories to test on each browser. This is where automated testing becomes handy. By writing automated tests and then integrating them into you continuous integration environment it is reasonable to assume that your application still works after each code change.
However automated testing has its own challenges:
- It is an upfront investment to write the automated scripts from scratch. This process takes time and usually requires development resources as well as testing resources.
- Maintaining written tests; once the tests are written let’s say for a software version 1, the tests will start to fail as soon as a developer moves onto coding for version2. Keeping on top of all these changes is not easy.
- Time taken to run the tests; automated tests which are testing via user interface (a program that clicks buttons enters text etc.) takes a long time to run even though it runs faster than human can perform identical steps. So it is not practical to submit some code changes and getting feedback 10 hours later just to find out that your changes has not broken anything. Besides, it is likely that it will at least break the tests!
So how do you create an automated testing suite which is quick to create, easy to maintain and fast to run? Find out in part II.