Turning developers into testers Dave Longman Headforwards dlongman
- Slides: 45
Turning developers into testers Dave Longman | Headforwards | @dlongman
Software Delivery is Changing
Software Delivery has changed
We are releasing more often 2017 State of Dev. Ops Report
Code bases have grown Lines of Code Thousands Number of lines of code for Photoshop over time 5000 4500 4000 3500 3000 2500 2000 1500 1000 500 0 Version CS 6 4. 5 M Version 1. 0. 1 128 K 1990 Year of Release 2012
Teams have changed NOW Project Team 2000’S Development Department Data Department Developer Product Owner Design & Architecture Testing Department PMO Developer Product Team Scrum Master Developer Tester
There’s more testing than ever!
Compliance Testing Firefox Zero downtime deployments UX Selenium Device Testing Performance Profiling SOAP Automation Network Topology Safari Security Mac. OS Internationalisation Guerrilla Testing JSON REST Usability Accessibility Internet Explorer API Android Feature Toggles Chrome Cloud Continuous Delivery Connectivity Security i. OS Monitoring YAML Regression Testing Configuration Microservices Test in Production A/B Testing
Virtual/Augmented Reality
Voice as an interface
Artificial Intelligence
Finding defects later is expensive Cost of defects at Google $ 6, 000 $ 5, 000 Cost $ 4, 000 $ 3, 000 $ 2, 000 $ 1, 000 $- $5 $ 50 TDD Build Test $ 500 Integration Testing Stage System Test Mark Striebeck presentation at XPDay 2009 Developer testing, from the dark ages to the age of enlightenment
Automation
Testers need to understand more E 2 E Service/API Integration Unit
Lines of Code Thousands Test code bases are big! 25 20 15 10 5 0 Application Unit/Integration Tests E 2 E Tests
Modern testing requires more development skills
Can testers become developers?
Web Development • HTML • CSS • Java. Script Automated Testing Design & Architecture • Selenium • Gherkin/Cucumber • Unit, Integration, API testing • SOLID principles • Clean Code Coding Skills Languages • Python • C# • Java • Ruby • SQL Security • OWASP • SSL • Networking • OAuth Cloud • Azure • AWS • GCP • Continuous Deployment
That’s a lot to learn!
Can developers become testers?
Domain Expertise Traits of a Good Tester Takes Customer Perspective Analytical and Logical Thinking Testing Traits “Test to Break” Approach Awareness of Business Impact Great Communication Skills
Domain Expertise Traits of a Good Developer Takes Customer Perspective Analytical and Logical Thinking Developer Traits? “Test to Break” Approach Awareness of Business Impact Great Communication Skills
Risk Management Test Approach and Design Usability testing Testing Skills Ad-Hoc and Exploratory Testing Capacity and Load Testing Black and White Box Testing Skills
Good skills for developers…
How can we improve a teams testing? 01 02 03 Improve developer awareness of tests Improve tester awareness of development Improve developer awareness of exploratory testing Improve developers exploratory testing skills Move to fully automated testing pipeline
Developers agree with tester whether test scenarios will be unit, integration or end to end tests Testers focus on working through test scenarios with dev team at start of sprint Step 1 Improve developer awareness of tests During sprint, primarily exploratory testing Developers implement agreed scenarios
Tester pairs with developers on exploratory testing Testers focus more on other areas • Coding • UX • Complex testing: security, performance, etc • Upskills developers to think more like a tester • Adds more ‘testers’ to team Step 2 Improve tester awareness of development Improve developer awareness of exploratory testing Developers pair with testers on automation testing • Improves testers’ coding skills • Peer review of automated test coverage
Focus on automating everything • Enables more rapid releases • Shortens feedback cycle • Prevents team forgetting to do something Developer on Test • Do. Ting Step 3 Improve developers exploratory testing skills Move to fully automated testing pipeline Remove full-time testers from team • Frequent review of testing • Mentoring role for developers
But…
What happens to the tester role? 01 02 Treated more like Scrum Master role Treated more like consultant role • The better you are the less the team needs you • Provides short-term upskilling on specialised skills to team
What happens to the testers? 01 02 Change team role Become more specialised • • Product Owner/Manager Scrum Master UX Designer Developer Performance Security Automation Accessibility
What’s in it for the developers? 01 02 03 Less Bug Fixing Better Quality Code More Autonomy • Understanding test scenarios better prevents defects • Designing code to make testing easier leads to more maintainable code • Can make educated decisions about the “right” place to test the functionality
Does it work?
Tester pairs with developers on exploratory testing Testers focus more on other areas • Coding • UX • Complex testing: security, performance, etc • Upskills developers to think more like a tester • Adds more ‘testers’ to team Step 2 Improve tester awareness of development Improve developer awareness of exploratory testing Developers pair with testers on automation testing • Improves testers’ coding skills • Peer review of automated test coverage
Summary
Developers are capable of becoming effective testers
We need to be conscious of the impact of change to the testers
Moving away from dedicated testers allows us to scale better
Dave Longman | Headforwards | @dlongman
- Code bases
- Wireline formation tester
- Dot hydrostatic testing certification
- How does things fall apart relate to the second coming
- Turning and turning in the widening gyre
- Turning and turning in the widening gyre
- Dave barry colonoscopy pdf
- Team vs working group
- How to turn an essay into a speech
- Astdd wiki
- Turning great strategy into great performance
- Make in india turning vision into reality
- Turning lemons into lemonade quotes
- Is a sparkler a chemical or physical change
- Accessibility training for developers
- Aesthetics developers
- Android boot camp for developers using java
- Reactive extensions net core
- Manitoba prospectors and developers association
- Sticky notes developers
- Builders and property developers module in tally.erp 9
- Android boot camp for developers using java
- Facbook
- Moodle developer
- Matrika hospital rewari
- Game developers
- Kirby series designers
- Developers google speed
- Erp for real estate developers
- بايونك
- Oracle developer forms
- Bon patron.com
- Motivating developers
- Longman elect 1a
- Primary longman elect 2a
- Addison wesley longman
- Cell cycle
- Longman elect 5a chapter 1
- Primary longman elect 4b
- Longman elect 5a chapter 1
- Primary longman elect 2b
- Tannins
- Longman picture dictionary
- Longman
- Choose the correct quantifier a slice/bowl of pizza
- Primary longman elect 4a