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.

Development without Testers: Myth or Real Option? (ConfeT&QA conference)


Published on

Presentation from online conference ConfeT&QA (March 2012) about true role of testers and ways to fix development process to avoid their participation in usual stages of the quality control chain.

Published in: Technology

Development without Testers: Myth or Real Option? (ConfeT&QA conference)

  1. 1. DEVELOPMENT WITHOUT TESTERS: MYTH OR REAL OPTION? Mikalai Alimenkou 14.03.2012
  2. 2. Background• Java Technical Lead/Scrum Master at Zoral Labs• 7+ years in software development• 5+ years of working by Agile methodologies• Expert in Agile engineering practices• Founder and coach at XP Injection (• Organizer of Selenium Camp, JEEConf and XP Days Ukraine conferences
  3. 3. Before start doing something you need to understand it properlyI. WRONG VISION OF TESTINGACTIVITY
  4. 4. Why so many testers?Too many bugs “Brave” automation team Endless regression testing Very quick development
  5. 5. What is the “ideal” dev/tester ratio? Dev Tester ? Devs Tester ? Devs Tester ?X Devs Y Testers ?
  6. 6. Where may problemshappen? Can’t implement what they want Can’t explain requirements Customer Existing functionality is Dev Team broken when new is ready
  7. 7. Developer is the root of evil!
  8. 8. Instead ofcontrollets fix it!
  9. 9. People can’t read minds and any communication channels lose dataII. BROKEN REQUIREMENTSCHANNEL
  10. 10. Divide work in small pieces
  11. 11. Discuss everything in detailsbefore start implementing
  12. 12. Use prototypes and mockups
  13. 13. Make customers acceptresults of development responsibly
  14. 14. Even very good developer can make stupid mistakeIII. DEVELOPERS MAKE MISTAKES
  15. 15. Team design sessionbefore implementation
  16. 16. 100% Code Review
  17. 17. Pair programming for the most complex parts
  18. 18. Detailed static code analysis
  19. 19. Stable releasable trunk
  20. 20. Strong definition of DONE Can I start testing this new feature? Yes, it is done! But I can’t even build the product… Ops, I forgot to commit some files...
  21. 21. TDD at all levels ATDD TDDCustomer’s Tests Programmers’ Tests Acceptance Fixtures Production Unit Integration Tests Code Tests Tests
  22. 22. Existing functionality must never be brokenIV. IMPLEMENTED ONCE, WORKINGFOREVER
  23. 23. Build safety net fromcompletely automated tests
  24. 24. Global Continuous Integration
  25. 25. This role is always needed, but can be played by different peopleV. TESTER IS A ROLE, NOT A PERSON
  26. 26. Magic happens when everybody know that there are no testers
  27. 27. Team members canplay different roles
  28. 28. Sharedresponsibility for quality is built
  29. 29. Give development process what it really needsVI. HOW TO SURVIVE? PLAY RIGHTROLE!
  30. 30. Help developers to do slicing development
  31. 31. Perform muchexploratory testing
  32. 32. Help customer toexpress his minds
  33. 33. @xpinjection