O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Why can't developers be testers discussion

155 visualizações

Publicada em

Slides from my discussion session at the July 2017 Assurance Leadership Forum (https://ukalf.com/) in London

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Why can't developers be testers discussion

  1. 1. Why can’t developers be testers? Dave Longman | Headforwards | @dlongman
  2. 2. Software Delivery is Changing
  3. 3. Software Delivery has changed
  4. 4. We are releasing more often 2017 State of DevOps Report
  5. 5. Code bases have grown Version 1.0.1 128K Version CS6 4.5M 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 1990 2012 LinesofCode Thousands Year of Release Number of lines of code for Photoshop over time
  6. 6. Teams have changed 2000’S ProjectTeam Development Department Data Department Design & Architecture Testing Department PMO NOW Product Team Developer Developer Developer Tester Scrum Master Product Owner
  7. 7. There’s more testing than ever!
  8. 8. Device Testing Security Performance Profiling Accessibility Usability Safari MacOS Microservices Cloud Continuous Delivery Firefox Chrome Security Internet Explorer Network Topology Connectivity A/B Testing Automation Selenium iOS AndroidAPI REST SOAP JSON YAML Configuration UX Internationalisation Feature Toggles Monitoring Regression Testing Zero downtime deployments Test in Production Compliance Testing Guerrilla Testing
  9. 9. Virtual/Augmented Reality
  10. 10. Voice as an interface
  11. 11. Artificial Intelligence
  12. 12. Finding defects later is expensive $5 $50 $500 $5,000 $- $1,000 $2,000 $3,000 $4,000 $5,000 $6,000 TDD Build Test Integration Test System Test Cost Testing Stage Cost of defects at Google Mark Striebeck presentation at XPDay 2009 Developer testing, from the dark ages to the age of enlightenment
  13. 13. Automation
  14. 14. Testers need to understand more oE2E oService/API oIntegration oUnit
  15. 15. Test code bases are big! [CELLRANGE] [CELLRANGE] [CELLRANGE] 0 5 10 15 20 25 Application Unit/Integration Tests BDD Tests LinesofCode Thousands
  16. 16. Modern testing requires more development skills
  17. 17. Can testers become developers?
  18. 18. Coding Skills Coding Skills Web Development •HTML •CSS •JavaScript Automated Testing •Selenium •Gherkin/Cucumber •Unit, Integration, API testing Security •OWASP •SSL •Networking •OAuth Cloud •Azure •AWS •GCP •Continuous Deployment Languages •Python •C# •Java •Ruby •SQL Design & Architecture •SOLID principles •Clean Code
  19. 19. That’s a lot to learn!
  20. 20. Can developers become testers?
  21. 21. Traits of a Good Tester Testing Traits Domain Expertise Analytical and Logical Thinking “Test to Break” Approach Great Communication Skills Awareness of Business Impact Takes Customer Perspective
  22. 22. Traits of a Good Developer Developer Traits? Domain Expertise Analytical and Logical Thinking “Test to Break” Approach Great Communication Skills Awareness of Business Impact Takes Customer Perspective
  23. 23. Testing SkillsTesting Skills Risk Management Test Approach and Design Ad-Hoc and Exploratory Testing Black and White Box Testing Capacity and Load Testing Usability testing
  24. 24. Good skills for developers…
  25. 25. How can we improve a teams’ testing? Improve developer awareness of tests 01 Improve tester awareness of development Improve developer awareness of exploratory testing 02 Improve developers exploratory testing skills Move to fully automated testing pipeline 03
  26. 26. Step 1 Testers focus on working through test scenarios with dev team at start of sprint During sprint, primarily exploratory testing Developers agree with tester whether test scenarios will be unit, integration or end to end tests Developers implement agreed scenarios Improve developer awareness of tests
  27. 27. Step 2 Tester pairs with developers on exploratory testing • Upskills developers to think more like a tester • Adds more ‘testers’ to team Developers pair with testers on automation testing • Improves testers’ coding skills • Peer review of automated test coverage Testers focus more on other areas • Coding • UX • Complex testing: security, performance, etc Improve tester awareness of development Improve developer awareness of exploratory testing
  28. 28. Step 3 Developer on Test •DoTing Remove full-time testers from team •Frequent review of testing •Mentoring role for developers Focus on automating everything •Enables more rapid releases •Shortens feedback cycle •Prevents team forgetting to do something Improve developers exploratory testing skills Move to fully automated testing pipeline
  29. 29. What happens to the testing role? Treated more like Scrum Master role • The better you are the less the team needs you 01 Treated more like consultant role • Provides short-term upskilling on specialised skills to team 02
  30. 30. What happens to the testers? Change team role • Product Owner/Manager • Scrum Master • UX Designer • Developer 01 Become more specialised • Performance • Security • Automation • Accessibility 02
  31. 31. Does it work?
  32. 32. Step 2 Tester pairs with developers on exploratory testing • Upskills developers to think more like a tester • Adds more ‘testers’ to team Developers pair with testers on automation testing • Improves testers’ coding skills • Peer review of automated test coverage Testers focus more on other areas • Coding • UX • Complex testing: security, performance, etc Improve tester awareness of development Improve developer awareness of exploratory testing
  33. 33. Thoughts?
  34. 34. Dave Longman | Headforwards | @dlongman

×