In an Agile world, would you consider all of the team members testers? Are they part of defining the quality of the software? How can a team member be a good agile tester in your mind? What are the qualities you are looking for a tester in an Agile world?

  • 4
    Agile is such a cliche term that encompasses quite a large spectrum of varying methodologies. All of the agile teams I have worked on has had dedicated QA resources (some whom also performed development tasks, some that did not). To get a better answer for this question could you please describe the agile methodology that you're inquiring about.
    – Paul Muir
    Mar 15 '16 at 19:52

If your question is "Who is a tester" my answer will be "anyone who does tests".

But if you are asking who should be a tester, it will depend on the team resources, abilities and strategies.

  • When team members have different abilities, maybe the easier option is assigning someone the tester role and making him/her accountable for test assets.
  • On the other hand, homogeneous teams can have a rotating tester role. The main benefit of having a different person creating tests for each sprint is that everyone on the team will become aware of testing activities and when they return to the developer role they will make their code more robust and testable.
  • Another option for homogeneous teams is not having a tester role, but allocating a 15-20% of everyone's time to testing activities. Similar benefits, but it is important to decide who is going to test what. It's preferable not to test each one's own code to get more defects detected sooner, because we usually become blind to our own errors.
  • Finally, big projects with many scrum teams often create a cross-wise team dedicated only to QA and integration activities.
  • I like the idea of the rotation for the tester. Have you tried that? or have you been part of a team that done that?
    – sheidaei
    Mar 21 '16 at 13:14
  • No, I haven't. If I had to do that, I would begin having some pair testing sessions in order to get everyone aligned.
    – Johnbo
    Mar 23 '16 at 9:44

In Agile, both the development & testing tasks are done collaboratively, but there is an exclusive tester for exhaustive testing sake.

The exclusive tester can also involve in development which is called pair programming.

The developer writes the tests which is called unit testing.

Hence except from product owner and scrum master everyone are termed as Developers.

  • When you are talking about "exhaustive tasking sake" what are you talking about? Can't those be shared with the developers?
    – sheidaei
    Mar 21 '16 at 13:13
  • Most of the user stories require exhaustive testing. As 100 percent test automation for a user story is idle scenario, only the important and reusable test cases are taken for automation and a exhaustive manual testing would be performed. yes, the testcases can be shared.
    – A user
    Mar 22 '16 at 9:27

Agile teams are cross-functional teams. They estimate their work from design to delivery often on a story based level. This includes the testing work, since testing should be part of the definition of done. One of the most popular Agile frameworks Scrum has no dedicated testing role. Everyone is named member of the Development team.

From the Scrum guide:

Individual Development Team members may have specialized skills and areas of focus, but accountability belongs to the Development Team as a whole.

Now I think anyone in the team should be able to execute the test the work. Keep in mind Agile is not mini waterfall where all the testing is postponed until the end, executed by a certain discipline. Keep in mind a lot of team functions like this. Still do not postpone testing until the end.

Having someone with a QA background in the team is a great plus, now this person can share his knowledge with the rest of the team and get everyone on a high quality level. If not the whole team is up to the task at this moment, try some pair testing until they are.

Qualities to look for are:

  • Team player
  • At-least basic programming
  • Test automation knowledge
  • Passion for quality
  • User centric view (instead of technical)
  • and of-course experience with testing software.

Maybe read following book: http://agiletester.ca/

Not the answer you're looking for? Browse other questions tagged or ask your own question.