How to be a Good Agile Tester?
- December 15, 2013
AGILE is a methodology that promotes continuous iteration of development and testing throughout the software development life cycle of the project. In agile method both the software development and software testing activities are done incrementally and iteratively, building up each feature until it provides enough value to release to production.
Advantages of Agile Testing
The First advantage of using agile testing methodology is that the company will be able to complete a project in a short time period and a limited budget.
Agile is embedded into the definition of done. No one task or story can be completed if it did not fulfill the definition of done.
Testing tasks (same as any other type of tasks) are a part of a story and don’t have any owner(s) assigned. Anyone can pick up the task and execute it.
Tester’s Role in Agile Testing
A tester has an important role in agile projects in different phases of iteration. An Iteration is normally a two or three weeks long activity where different activities like analyzing the requirements, coding and testing etc are performed.
Agile Testers are a part of the cross-functional team and talk directly to the developers and have their say in all phases of the Software Development Life Cycle. With Agile Testing you can influence developers to think about testability in their code and you can help understand and refine new requirements. Agile teams are collocated, so the flow of information is uninterrupted.
Qualities of a good Agile Tester
A good agile testing will be performed only when a tester will keep in mind the following key points:
This is the time where the requirements are analyzed in details. As QA engineers we are the immediate consumers of these requirements. So, it’s really very important to verify these requirements early and often.
Feedback Loop Short:
Agile testing is about giving feedback early, it means that if you find a bug; report it to the developer quickly.
Be active in Meetings:
It means that when you attend the scrum meetings you must be active. Your influence on quality assurance in agile development methodologies is needed to improve the product. If you have any new idea(s) for improving the project; you must share them with the client in meetings.
When a new bulid is successfully implemented, the tester must start a new cycle and execute all the test cases and report them early to the developer if he/she finds any new defects.
Agile Testing needs Automation:
In order to test every change in the code you need to conduct regression testing to make sure that the new added features will not disturb the previous functionality. Agile tester is busy with testing new stories and planning for the regression testing is difficult. So, having the automated scripts for the previous stories is the best solution.
Parallel Independent Testing:
As the whole team is used for agile development, that’s why you need to consider instituting a parallel independent test team which performs some of the more difficult (or perhaps more advanced) forms of testing.
End of Life Cycle Testing:
An important part of the release effort for many agile teams is end-of-lifecycle testing where an independent test team validates that the system is ready to go into production. If the independent parallel testing practice has been adopted then end-of-lifecycle testing can be very short as the issues have already been substantially covered.