Top Banner
Why can’t developers be testers? Dave Longman | Headforwards | @dlongman
34

Why can't developers be testers discussion

Jan 23, 2018

Download

Technology

Dave Longman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Why can't developers be testers discussion

Why can’t developers be testers?

Dave Longman | Headforwards | @dlongman

Page 2: Why can't developers be testers discussion

Software Delivery is Changing

Page 3: Why can't developers be testers discussion

Software Delivery has changed

Page 4: Why can't developers be testers discussion

We are releasing more often

2017 State of DevOps Report

Page 5: Why can't developers be testers discussion

Code bases have grown

Version 1.0.1128K

Version CS64.5M

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

1990 2012

Lin

es o

f C

od

e Tho

usa

nd

s

Year of Release

Number of lines of code for Photoshop over time

Page 6: Why can't developers be testers discussion

Teams have changed

2000’SPr

oje

ct T

eam

Development Department

Data Department

Design & Architecture

Testing Department

PMO

NOW

Product Team

Developer

Developer

Developer

Tester

Scrum Master

Product Owner

Page 7: Why can't developers be testers discussion

There’s more testing than ever!

Page 8: Why can't developers be testers discussion

Device Testing

Security

Performance Profiling

AccessibilityUsability

SafariMacOS

Microservices

CloudContinuous Delivery

Firefox

Chrome

Security

Internet Explorer

Network Topology

Connectivity

A/B Testing

AutomationSelenium

iOS

AndroidAPI

REST

SOAP

JSON

YAMLConfiguration

UX

Internationalisation

Feature Toggles

Monitoring

Regression Testing

Zero downtime deployments

Test in Production

Compliance Testing

Guerrilla Testing

Page 9: Why can't developers be testers discussion

Virtual/Augmented Reality

Page 10: Why can't developers be testers discussion

Voice as an interface

Page 11: Why can't developers be testers discussion

Artificial Intelligence

Page 12: Why can't developers be testers discussion

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

Co

st

Testing Stage

Cost of defects at Google

Mark Striebeck presentation at XPDay 2009 Developer testing, from the dark ages to the age of enlightenment

Page 13: Why can't developers be testers discussion

Automation

Page 14: Why can't developers be testers discussion

Testers need to understand more

oE2E

oService/API

oIntegration

oUnit

Page 15: Why can't developers be testers discussion

Test code bases are big!

[CELLRANGE]

[CELLRANGE]

[CELLRANGE]

0

5

10

15

20

25

Application Unit/Integration Tests BDD Tests

Lin

es o

f C

od

e

Tho

usa

nd

s

Page 16: Why can't developers be testers discussion

Modern testing requires more development skills

Page 17: Why can't developers be testers discussion

Can testers become developers?

Page 18: Why can't developers be testers discussion

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

Page 19: Why can't developers be testers discussion

That’s a lot to learn!

Page 20: Why can't developers be testers discussion

Can developers become testers?

Page 21: Why can't developers be testers discussion

Traits of a Good

TesterTesting Traits

Domain Expertise

Analytical and Logical Thinking

“Test to Break” Approach

Great Communication

Skills

Awareness of Business Impact

Takes Customer Perspective

Page 22: Why can't developers be testers discussion

Traits of a Good

DeveloperDeveloper Traits?

Domain Expertise

Analytical and Logical Thinking

“Test to Break” Approach

Great Communication

Skills

Awareness of Business Impact

Takes Customer Perspective

Page 23: Why can't developers be testers discussion

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

Page 24: Why can't developers be testers discussion

Good skills for developers…

Page 25: Why can't developers be testers discussion

How can we improve a teams’ testing?

Improve developer awareness of tests

01Improve tester awareness of development

Improve developer awareness of exploratory testing

02Improve developers exploratory testing skills

Move to fully automated testing pipeline

03

Page 26: Why can't developers be testers discussion

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

Page 27: Why can't developers be testers discussion

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

Page 28: Why can't developers be testers discussion

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

Page 29: Why can't developers be testers discussion

What happens to the testing role?

Treated more like Scrum Master role

• The better you are the less the team needs you

01Treated more like consultant role

• Provides short-term upskilling on specialised skills to team

02

Page 30: Why can't developers be testers discussion

What happens to the testers?

Change team role

• Product Owner/Manager

• Scrum Master

• UX Designer

• Developer

01Become more specialised

• Performance

• Security

• Automation

• Accessibility

02

Page 31: Why can't developers be testers discussion

Does it work?

Page 32: Why can't developers be testers discussion

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

Page 33: Why can't developers be testers discussion

Thoughts?

Page 34: Why can't developers be testers discussion

Dave Longman | Headforwards | @dlongman