Applying test automation you should carefully consider your decision and decide what, how and when to automate in order to achieve the boost of overall efficiency and coverage of your test. While most of practices helping to get as many benefits from test automation as possible can be applied regardless of the lifecycle, below you will find the main practices which are the most appropriate for automation in the agile environment.
1. Automation at the System Level
In agile the user interface is probably the first field that undergoes changes, as its design is usually very dynamic. To minimize the maintenance of test automation at the user interface level at the same time increasing coverage one should pay special attention to automation at the services and system levels.
2. Coverage-based Test Automation
Time factor is significant in the agile world. Focusing on code coverage runs and using instrumented builds this practice allows examine better the traceability of the test and find out the areas where there is not enough coverage yet.
3. Test Automation to Precede Manual Testing
Agile world totally changes the practices applied in the past when manual testing was conducted before automation. Now in view of the limited time frames the team often has to concentrate on test automation at once.
4. Test-driven Development
Creation of automation tests before source code development thus directing the process is becoming a common practice. Accordingly this method requires more collaboration of testers with the development team.
5. Testing Your Test Automation Code
Test Automation should be done like a usual product-development effort in the software development lifecycle. Do not forget to conduct testing of the test automation code, avoiding any test issues and verifying the code.
6. Tool Choice
In agile the right choice of a tool for automation is vital because of time constraints. There is a wide range of available tools including both commercial and open source solutions. But while making a decision pay attention to such factors as tool maintenance, its cost and integration capabilities.
7. Cross-team Code Usage
Sharing the test automation code allows other specialists besides the test team to use it. This makes the code more reliable and robust.
Adjusting to present agile development cycles you will appreciate the matters discussed above and will be able to provide a quality product within the short period of time.