Working under strictly assigned restrictions is not about me. I guess the same for you. Having limitations is for everyone, but we need to have enough free in order to work flexibly. When people discuss agile working they instinctively focus on flexible hours, independent location while working or remote working mode but this approach is not so right.
First let’s understand what is agile.
Agile endorses the entire team approach where the developers, testers and business people work together to meet the sprint and release goal.
Agile is different from traditional lifecycles and the principles also show that:
- Provide continuous feedback
- Deliver value to the customer
- Enable face-to-face communication
- Have courage
- Keep it simple
- Practice continuous improvement
- Respond to change
- Focus on people
- Enjoy 🙂
I hope we got the general idea of Agile!!! Now, we can move towards Agile Testing and understand what it is.
What does ”Agile testing” mean? We know that everyone on an agile team is a tester. Testers, developers and business stakeholders all of them have a role in testing. Developers perform unit tests, meanwhile testers test implemented features. Business stakeholders also test the stories during implementation in order to provide fast feedback to the development team. If that’s true, then what is special about an agile tester?
In testing process testers are responsible for all test activities and QA group is usually treated as a quality gate. The agile team builds the product well from the beginning, using testing to provide feedback on an ongoing basis about how well the product is meeting the business needs and client requirements.
In Agile, testers are empowered to make decision. It means that the tester is given an authority to estimate effort for each work item from planning to release. As a result testers are responsible for all activities that they estimated. In Agile, getting the testing done is whole team’s responsibility. Yes, testers execute tests. Developers do too.
Both, developers and testers closely collaborate with each other to deliver business value. Each tester has to bring versatile skills on board to become a cross function team member. Agile testers must have primary skills in automating test cases, test-driven development, and acceptance test-driven development, as well as manual testing included white box and black-box testing.
Agile methods ask for greater collaboration, effective communication and interaction between team members and teams outside as well as stakeholders who can directly or indirectly influence the product development.
Agile development recognizes that testing is not a separate phase. Testing must NOT be a phase of development, it must be integrated with development:
But what exactly is the role of QA in agile?
What can a tester do to help to reach a goal. Here are 6 things software testers should do when working with an agile scrum team:
1.Attend sprint-planning sessions
A tester should always attend planning sessions. This ensures QA is in sync with the development team from the start, and allows QA to identify possible issues and risks early on.
2. Attend daily stand ups.
A member of QA should attend daily stand ups. This promotes a collaborative team environment, making QA feel involved and a part of the team.
3. Don’t save all the testing for the end, test throughout the sprint.
This is important. In order to deliver high quality software in a short amount of time, you need to work efficiently. If you find all the bugs at the end of the sprint, it’s too late. By integrating testing and development, it allows the two teams to work together and resolve issues faster, leading to higher quality results.
4. Meet with developers for short hand-off demonstrations.
It’s hard to argue the value of in-person communication. Assuming QA and development work in the same location, schedule a quick face-to-face handoff demonstration for each feature. This allows QA to see exactly how the new feature works and is a good time for them to ask the developer any questions.
- Attend sprint retrospectives.
If your team isn’t meeting at the end of the sprint to discuss successes and failures, you’re missing out on the opportunity to improve future sprints. No matter how good a team is there’s always room for improvement. QA needs to be involved in these discussions to ensure any concerns they have are addressed before the start of the next sprint
- Document test cases.
Just because you’re an agile team doesn’t mean you should skip documentation. Documentation is important, especially for QA. Keep your documentation lean – changes are bound to happen, but even minimal documentation can add a lot of value to you and your team. For example, if testers shift from project to project, having some test documentation will help get the new team member up to speed faster.
Now little bit about the advantages of Agile testing:
- Agile Testing saves time and money
- Less Documentation
- Regular feedback from the end user
- Daily meetings help to determine the issues early on
Published by Lilit Vardanyan