When I joined Radiant, I started to think about automation. I searched on Internet but I did not find anything satisfying. All tools were basically record/play applications. That is not sufficient for testing. There are many concerns, for example:
- How do you verify the test result?
- How easy can you change the script (add testing of a new field, new form, etc.)
- Scalability - how easy can you join basic scripts and create bigger (regression) script?
- How the test application works with your amended components?
- Allow to control GUI application.
That means to start it, navigates through it, close it. To know its status.
- Allow to read values from the screen.
You have to know what is on the screen to be able to test it.
- Allow to set values.
Also, you have to be able to set/write values into the application to be able to test it.
- Easy to create.
Testers are not experienced programmers. The tool must be easy to use. Anybody, who knows what a program is, should be able to write a test script.
- Easy to maintain.
When the tested application changes, amending a test script should not be necessary or be a piece of cake.
Joining test scripts together, creating regression scripts.