Agile testing


Published on

Explanation of testing under agile methodologies.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile testing

  1. 1. TESTING IN AGILE TEAMS A Practical Guide for Testers and Agile TeamsSunday, January 13, 13
  2. 2. Inspiration •Tester point of view •Agile vs Waterfall •Tools & TechniquesSunday, January 13, 13
  3. 3. Agile quick recap! Agile testers Work to ensure that their team delivers the quality their customers needSunday, January 13, 13
  4. 4. Agile vs Waterfall testing Waterfall Agile • Strictly enforced gated phases ending with a rushed testing phase and a delayed • Agile is iterative and incremental. release. • Programmers never get ahead of the testers, because a story is not “done” until • Testing happens at the end, right before it has been tested. release.Sunday, January 13, 13
  5. 5. Agile testing? It includes just about everything beyond unit and component level testing: ✦ functional, ✦ stress, ✦ system, ✦ usability, ✦ load, ✦ exploratory, ✦ performance, ✦ end-to-end, ✦ security, ✦ and user acceptance.Sunday, January 13, 13
  6. 6. Agile Testing QuadrantsSunday, January 13, 13
  7. 7. Tests that Support the Team Biggest difference between testing on a traditional project and testing on an agile project They guide functionality development When automated, then provide a safety net to prevent refactoring and the introduction of new code from causing unexpected results.Sunday, January 13, 13
  8. 8. Tests that Support the Team Quadrant 1Sunday, January 13, 13
  9. 9. Tests that Support the Team Quadrant 1 Major Purpose: Test-Driven Development All of the testing in the other quadrants can’t make up for inadequacies in this one TDD it’s more about design than testing Gives a safety net to refactor Lacking these core agile practices tend turning into “mini-waterfalls.” Must have speed in their feedback Incremental approach for legacy systemsSunday, January 13, 13
  10. 10. Tests that Support the Team Quadrant 2Sunday, January 13, 13
  11. 11. Tests that Support the Team Quadrant 2 Also drive development, but at a higher level. Requirements Provide the big picture and enough details to guide coding. Prototyping Define and verify external quality, and help us know when we’re done. Part of an automated regression suite and run frequentlySunday, January 13, 13
  12. 12. Tests that Critique the Product The word “critique” isn’t intended in a negative sense. A critique can include both praise and suggestions for improvement. Feedback should be fed back into the left side of our matrix and used to create new tests to drive future developmentSunday, January 13, 13
  13. 13. Tests that Critique the Product Quadrant 3Sunday, January 13, 13
  14. 14. Tests that Critique the Product Quadrant 3 Even when business-facing tests pass, they might not be delivering what the customer really wants. It’s difficult to automate business-facing tests that critique the product, because such testing relies on human intellect, experience, and instinct. You won’t have time to do any Quadrant 3 tests if you haven’t automated the tests in Quadrants 1 and 2.Sunday, January 13, 13
  15. 15. Quadrant 3 Tests Demonstrations Early and often Scenario Realistic Testing Flows and Data provided by the customer Exploratory Testing As you test, you learn more about the system under test and can use that information to help design new tests. Usability Testing Personas Check CompetitionSunday, January 13, 13
  16. 16. Tests that Critique the Product Quadrant 4Sunday, January 13, 13
  17. 17. Tests that Critique the Product Quadrant 4 We worry about deficiencies in the product from a technical point of view. Nonfunctional requirements include configuration issues, security, performance, memory management, the “ilities” (e.g., reliability, interoperability, and scalability), recovery, and even data conversion. Not all projects are concerned about all of these issues, but it is a good idea to have a checklist to make sure the team thinks about them and asks the customer how important each one is. It needs a specialized skill-set. May result in new stories and tasksSunday, January 13, 13
  18. 18. Quadrant 4 Testing Security Specialized training & tools Maintainability Code reviews, pair programming, standards,etc Interoperability Consider communicated systems and test Compatibility Use different OS’s, browsers, machines Reliability how long can the system run before it fails the first time? Performance, load testing Installability Ready to deploy any-time. Deploy early, often and automated. Do not left until the very end! It might be too late...Sunday, January 13, 13
  19. 19. Sunday, January 13, 13
  20. 20. Other conceptsSunday, January 13, 13
  21. 21. Shared Responsibility No matter what resources have to be brought in from outside the development team, the team is still responsible for getting all four quadrants of testing done.Sunday, January 13, 13
  22. 22. Managing Technical Debt Is taking shortcuts, hacks in quick fixes, or skips writing or automating tests because it’s under the gun Like financial debt, “interest” compounds in the form of higher maintenance costs and lower team velocity. Applying agile principles to do a good job of each type of testing at each level will, in turn, minimize technical debt.Sunday, January 13, 13
  23. 23. Iteration Planning Consider all viewpoints No story is “Done” until it’s fully tested. Don’t be afraid to raise a red flag when a story seems to be growing in all directions The start of an iteration is the last chance to ensure that the stories are testable and that adequate test data is provided.Sunday, January 13, 13
  24. 24. Dealing with bugs Within iteration bug? if possible to fix: Fix + Test Log all production bugs or the ones that can’t be fixed right away Set rules, like “Bugs counter should never get higher than 10” If you find a lot of bugs in one area, think about combining them into an enhancement or story. If a “bug” is really missed functionality, choose to write a card for the bug and schedule it as a story.Sunday, January 13, 13
  25. 25. Testing checklistSunday, January 13, 13
  26. 26. Summary Use the Agile Testing Quadrants as a guide to help you plan testing that will cover all the angles. Guiding development with tests helps make sure you don’t miss something big Use exploratory testing to learn more about how the application should work, Make your test environments as similar as possible to production, using data that reflects the real world Evaluate how your current stories fit into the grand scheme of the business.Sunday, January 13, 13
  27. 27. Q&ASunday, January 13, 13
  28. 28. Thanks! Tomas AlabesSunday, January 13, 13