Over the years the demand is growing for the team be operating in Agile fashion and with Agile Testing methods almost at every project location. Project manager wants model or prototype built quickly and testing to be performed in an iterative manner. Obviously, there are advantages of this iterative short cycle testing & the benefits are enormous.
Agile testing method focuses on an incremental, short term deliveries that allows frequent review responses & continuous feedback mechanism. Last week we have seen how Agile mindset helps in project execution, various roles and terms associated with it. In this blog we are going to see how a testing team performs testing using agile methodology. The quintessential difference is that the testing is not done during only one phase, but testing is done iteratively with every release of the software or the product. This way of testing early and repetitively ensures minimal damage and risk towards the end of project Everyone would have seen the classic curve of time vs cost when defect is identified & cost of fixing it. In Agile approach this is exactly the area that testers can best tackle for you. For them to achieve this project manager and project teams must have an agile mindset.
Let’s see how exactly an agile tester can contribute and participate effectively in an agile project environment.
As a member of Agile Team, quality leads and tester should always attend Sprint Planning sessions. This helps to ensure that they are in sync with the development team from the start and allow QL to identify and highlight possible problem arrears and risk as early as possible. During the Sprint Planning, developers estimate the effort it will take them to write code, similar way testers should estimate effort required for testing code during planning session. So, resulting in a win-win situation for developers and testers both.
QA Tester should attend daily stand up meeting with the developers, Scrum Master and the Product Owner. This promotes a strong collaboration amongst the team members and a sense of one-team prevails. Based on the updates received from the Developers, Business Analysis and Testers, product owner stays up to date with how the sprint is going on and teams are able to plan their workload efficiently. In case, if the tester has a blocker, they can bring it up in the daily stand-up meeting and update every team member on known issue which in turn allow developers to speed up testing progress and plan their workload.
This is very important, in order to deliver high quality of software in a short period of time your team needs to work efficiently. Any issue that is found during sprint must be reported immediately in the same Sprint. Clubbing all the incidents and reporting only at the end does not help in agile setup. If this happens then closing the sprint becomes difficult and makes it ineffective, given that it is a time boxed activity. By continuous integration of testing and development, it allows both the teams to work together and resolve their issue faster and this help in leading to higher quality of results.
At the end of each Sprint, tester and developer teams demonstrate the product features that are developed to the product owner and other stakeholders. Any feedback has been received related to look and feels & other features that is incorporated on immediate effects. This help to deliver the product with high quality customer satisfaction and meet the business requirement.
Although in agile project where documentation is minimum, due to frequent requirement changes, testing team cannot afford to skip necessary documentation. Documentation is very important for QA. Execution for test cases & pass logs is the proof of successful testing and is enquired to be documented at various levels. This becomes useful for Bank internal or external audit requirements. This also covers the scenarios where a person is replaced by another one.
At the end of each sprint, team needs to discuss and provide review comments about what went well & what did not work during the sprint. This helps to improve in future sprint planning and execution. Sprint retrospective is the opportunity to define weaknesses and determine solutions for them. QA need to be involve in these discussions for any concerns that needs to be addressed before the next Sprint can start.
There are certain cautionary warnings that must be taken care during the agile testing:
The contribution of agile testers in various ways listed above, results in multiple benefits such as:
Knowing all these warnings signs & benefits, project teams reap the benefit of successful product as end result. The It is flexible, quick to see results, quick to incorporate and implement changes. Minimal essential documentation and high-quality software / product output. If we compare these things with a traditional approach one can easily see the immense benefits. So, let’s get going and Be Agile!