Best Practices in Agile Testing
Best Practices in Agile Testing
Best Practices in Agile Testing
Yesterday, you were a tester on a QA team, testing the features that the
developers delivered in the last drop. But you've just come out of a
meeting in which your boss announced that, from now on, the company is
member of an agile team, and you're going to see some changes in the
way you work. And that's a good thing because, according to a Harris
on an agile team:
Yesterday, you had to wait for the business analysts to finish the
requirements phase before you could start building your test plan in detail
and ensure that you had full coverage and traceability for all the
requirements.
Today, things are different. Rather than waiting for the business analysts
to finish their work and hand it off to you, you're part of the process of
defining user stories, adding them to the backlog, and helping the team
define the criteria that must be met for each story to be considered
product owner (the business owner of the system you're building) and
ensures that everyone is aligned with the functional and nonfunctional
As an agile tester, you'll help estimate the scope and size of the testing
effort for each user story. The estimated effort for testing is part of the
overall estimation for the size of the user story, which can't be marked as
"done" until it passes all the tests. After each sprint, your team will
review and update the estimates of upcoming user stories based on the
team's experience from the previous sprint and re-plan upcoming sprints
3. Assess testability
You'll be involved in the design of the software by working closely with
team member might have their own specialty, but everyone is responsible
for delivering the team's user stories at the end of the sprint. The team
and execute the tests. As a tester on the team, you'll be helping to design
5. Automate
long. Look for opportunities to automate tests and deployment scripts and
develop test automation frameworks for your team and the rest of the
You'll be working more closely with developers than ever before. If you
find a defect, tell the developer, and let them use your system to debug so
they can find and fix the problem as quickly as possible. Don't force them
to set up their own system. You're working together on the same code and
user story, with the same goal of providing working software at the end of
the sprint.
You'll also sometimes need to help members of the team who require
cooler or over a casual cup of coffee. Keep your off-site colleagues in the
loop.
7. Verify fixes
OK. This doesn't sound new. Yesterday, you were working on verifying
fixes, too. But these fixes might have been made weeks or months ago,
and you could only test them when a formal build was delivered to QA.
In agile though, the aim is to fix and verify bugs within the same sprint,
because otherwise the tests won't pass, and the user story can't be
considered "done."
which gives you an opportunity to verify fixes later, but still within the
be really effective, don't just talk about what you accomplished yesterday
and what you're going to be doing today. The most important part of a
daily stand-up meeting is sharing the obstacles that will prevent you from
Focus on identifying and describing these obstacles to the rest of the team
and enlist the help of the team to remove them. Eric Jacobson has a
deciding which defects the developers should fix first because they're a
Yesterday, when you were part of a QA team, you followed metrics that
10. Fail
only as long as you fail fast and learn from your failures. In traditional
agile, failure is accepted, and the lessons learned from failures are shared
Today, you get to try out the second principle behind the Agile
but now that you're agile, you must be prepared not only to expect change
development can jeopardize the whole project. But in agile, any user
stories that meet the "done" criteria are good to go. Because constantly
grooming and reassessing the backlog is part of the agile concept, the
team can accommodate and accept disruptions. The only major casualty
of a disruption in agile should be the current sprint, but because you aim
for short sprints, there are only a couple of weeks' work at stake.
12. Learn
You've always had to keep up with the product you're testing and the
that you're in an agile organization, you'll need to learn about agile itself,
including what is and isn't working for you. Make the changes you need,
refined or removed.
Understanding the tasks above should help you and your team members