Agile Testing tools vary from project management to automated testing. Automated Testing is a critical for maintaining agility and establishing continuous improvement. Continuous Integration, execution of unit tests, functional tests, integration tests and continuous deployment are common ways of deploying automation.
Literally any testing that is performed consistently formore than 2 to 3 times in a short span of time needs to be automated. This automation should be carried out with well known tools, open source tools or homegrown scripts.
For managing test automation in an Agile environment, with a systematic and productive test automation effort, the following principles can be considered.
- Test Automation is more than test execution.
- Test Automation may become instantly obsolete.
- Test Automation depends on product testability.
- Test Automation may not be equal to good testing.
The element of Agile development is centered around practitioner centered methodology, close contact with customers, numerous small milestones and a welcoming attitude to change. Agile Test automation is mainly the application of these development principles onto the test automation solution.
The Agile Test Automation involves accomplishing the following tasks:
- Respond rapidly to requests for assistance from testers.
- Identify test productivity problems.
- Investigate possible solutions with testers.
- Implement technology to improve the test process.
- Research for available tools and how to use them.
- Gather tools that developers and testers produce.
- Asses automation possibilities on upcoming products.
Test Automation in an Agile Environment can be managed via the following five lists along with some background tasks. The lists are as follows:
- Request List: New request list from customers
- Assignments List: Currently assigned tasks.
- Delivered List: List of solutions currently used by the test team. Each item on the list needs to include a brief description and statement on their positive effect on testing productivity.
- Maintenance Request List: Solutions that need improvement. This list needs to be divided into two parts – critical maintenance and enhancements.
- Obstacles List: This is a list of unsolved problems as they require new tools and substantial testability improvements.
- Pair with testers in order to understand how testing is done.
- Review upcoming product specifications and technologies in order to understand the technical testing issues.
- Work in collaboration with testers and managers to find reasonable ways to assess and report productivity.
Like a software application, automated tests are also developed incrementally by adding new features and tests to the automation framework over different sprints. To make the process more efficient, a test automation backlog can be maintained, which contains all the required automation tasks and identified improvements. A test automation backlog needs to contain a prioritized list of items which can be listed as follows:
- Parameterization of the test environment for test execution.
- Implement a process of continuous integration.
- Enhance reporting mechanism.
- An option to attach error logs in notification emails.
- Performance metrics for workflow scenarios.
- Adding tests for checking concurrent execution of critical test cases.
Risks of Agile Test Automation
- Test Automation may not be able to improve test productivity significantly unless testers know how to test.
- Productivity metrics may be misleading and can lead to making large investments in running useless tests.
- The members of the agile automation team should be effective consultants otherwise the system will quickly fail.
- Testers may deliver testing solution which may require too much of ongoing maintenance relative to the value provided.
The Agile Test Automation is mostly about researching solutions and how that process can draw developers to help in the testing cause. It is equally important to know when not to automate tests no matter what methodology is being used.
Michael Works for Gallop Solutions, it is a 10 year old, US based Colocated Independent Software Testing & QA Staffing Services Company with offices in Dallas and Philadelphia.