Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

! Testing for agile teams


Published on

Testing for agile teams . What's the difference between this and other testing ? What are the goals for such testing ?
Is agile testing needed at all ? Why ?
You will find some answers inside and mist likely will be directed to the right way.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

! Testing for agile teams

  1. 1. Testing for scrum teams. Introduction. Dennis Popov July 2010,
  2. 2. Plan• The agile values and testing• Agile thinking for testers• Agile tester itself• Bill of rights• Goals artifacts and tools
  3. 3. The Agile ValuesIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a planThat is, while there is value in the items onthe right, we value the items on the left more."
  4. 4. What is testing Software testing is a process of an investigation conducted to provide stakeholders with information about the quality of the product or service under test.
  5. 5. What is it needed for ? Software testing provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software (thanks to Wikipedia)
  6. 6. Testing and scrumAn agile project is a close team;everyone shares ownership of the code and of the quality of the product.If the testers are squeezed, it may be that they are becoming the gatekeepers of quality, and that the practice of collective ownership is compromised.Testers role tends to fall into two main parts:- enhancing the confirmation tests at unit and acceptance levels. This means that developers should help testers to understand unit tests . Testers will propose changes and pay attention to the situation when unit test seems to be missing.- identifying, diagnosing and exploiting unexpected behaviors. They also bring automation skills to your customer, automating some or part of their acceptance testing.- developers can do Mini-demo to Testers on their local environments
  7. 7. Agile Thinking for testers Not a “quality police” but Helps business to express their needs Constant feedbacks to business Ready to inner-team communications Courage to ask questions and get answers Search for simple ways (does not always mean easy ones) Be ready for frequent changes Self organized. Bring value even when there is no functionality to test. Use different hats.
  8. 8. SCRUM Testing is Different The biggest difference is that in Scrum project, the entire development team takes responsibility for quality. This means the whole team is responsible for all testing tasks, including acceptance test automation. When testers and programmers work together, the approaches to test automation can be pretty creative! SCRUM isn’t about ‘roles’, it’s about a tight integration of skills and behaviors. Testing is an integrated activity in Scrum team. The development team needs continual feedback, with the customer expressing their needs in terms of tests, and programmers expressing design and code in terms of tests. In Scrum team, the tester will play in both the customer and programmer ‘roles’. He’ll focus on acceptance testing and work to transfer his testing and quality assurance skills to the rest of the team.
  9. 9. The Old Strategies Won’t Work•Detailed test planning• Not enough time• Too many changes Old metrics wont work•Dedicating a phase for testing• You don’t get to define entry and exit criteria• Iterations will move on without you•Change control• Changes are now commonplace•Being in a position of authority• You need to learn how to express concerns without really being able to judge software correctness authoritatively
  10. 10. What is agile tester. Activities * Negotiate quality with the customer (it’s not YOUR standard of quality, it’s what the customer desires and is willing to pay for!) * Clarify stories, flush out hidden assumptions * Enable accurate estimates for both programming and testing tasks * Make sure the acceptance tests verify the quality specified by the customer * Help the team automate tests * Help the team produce testable code * Form an integral part of the continuous feedback loop that keeps the team on will communicate more, with your coders and your customers.- you will need to have (or will rapidly gain) a deeper understanding of the technology and the code- you will no longer be the gatekeeper- you will share more risk, and feel an increased sense of ownership- you will personally fix more bugs State the alternative strategies List the pros and cons of each strategy Give a forecast of costsYou can be a Bad Customer!
  11. 11. Tester - A bad customer hat.A bad customer does things that aren’t ‘happy path’ interactions; they perturb and maybreak the system. It’s worth considering whether a particular action is that of an incompetentuser, an expert/speedy user or a malicious user. A tester can use his or her knowledge ofpossible problems and ware a hat of a bad customer. Some trigger ideas include:- Empty sets, null inputs- Invalid parts of input – characters, values, combinations- Time changes- Unusual uses- Too much – long strings, large numbers, many instances- Stop halfway / Jump in halfway- Wrong assumptions- Making lots of mistakes, compounding mistakes- Using the same information for different entities- Triggering error messages- Going too fast
  12. 12. What sort of stories should a tester bring?- User stories that involve edge cases- User stories that involve malicious intent- Stories that aren’t for the users- Infrastructural stories – ie loading the DB for setup- Unexpected / unconsidered quality criteria- Consequences after time / under load- Experiments, rather than stories – like thought experiments?- Bugs that need fixing, but can’t be fixed right now
  13. 13. Challenge: Are Testers Obsolete? With developers doing unit testing, do we still need to have “QA” testers? Some teams have fired testers when adopting agile. They have then regretted this. Some teams are using developers for acceptance testing. One of the main reasons why we still need dedicated testers – is an instant feedback from testing. Dedicated testers bring two benefits: − Focus on customer usage over technical implementation − Focus on uncovering flaws over confirming completeness
  14. 14. Testers Bill of Rights You have the right to bring up issues related to quality and process at any time. You have the right to ask questions of customers and programmers and receive timely answers. You have the right to ask for and receive help from anyone on the project team, including programmers, managers, and customers. You have the right to make and update your own estimates for your own tasks and have these included in estimates for stories. You have the right to the tools you need to do your job in a timely manner. You have the right to count that all team is responsible for quality of the product
  15. 15. goals for agile teams•How can we get testers to be part of a team? Doesn’t this force them to sacrifice their integrity?•Testers have been an oppressed group and have often stuck together to provide mutual support.•It’s time to let go of this.•Testers should co-locate with developers and analysts.•Agile only works when there is lots of both formal and informal communication within a team. Each team member should be ready to ware “testers hat”
  16. 16. artifacts for agile testing p 106 Metrics that will measure teams progress Test strategy rather than test plan – a long term plan of actions and activities.
  17. 17. tools for testing Protocol Drivers for Functional TestingPHPUnit test Testing ToolsCelenium ideFunctional testing: FitNesseLoad testing: LoadUI testing http://www.soapui.orgGreenHopper plugin for Jira.
  18. 18. Recommendations Accept SCRUM Love scrum Live scrum
  19. 19. Materials Agile testing. A practical guide for testers and agile teams. Lisa Crispin, Janet Gregory, 2010, 464p. Testing computer software. Cem Kaner, Jack Falk, 2001, 544p. Wikipedia Bret Pettichords blog ( Lisa Crispins articles