Top Banner
End-To-End Testing Considered Harmful Steve Smith @AgileSteveSmith www.alwaysagileconsulting.com
37

End-To-End Testing Considered Harmful

Apr 15, 2017

Download

Technology

Steve Smith
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: End-To-End Testing Considered Harmful

End-To-End TestingConsidered Harmful

Steve Smith

@AgileSteveSmith

www.alwaysagileconsulting.com

Page 2: End-To-End Testing Considered Harmful

Steve Smith

Continuous Delivery consultant

Co-organiser of LondonCD and PIPELINE

Co-author of Build Quality In on Leanpub

b: www.alwaysagileconsulting.com/blog

l: www.linkedin.com/in/agilestevesmith

t: @AgileSteveSmith

Page 3: End-To-End Testing Considered Harmful

Always Agile Consulting Ltd

Continuous Delivery consultancy

Continuous Delivery training courses

e: [email protected]

t: @AlwaysAgile

w: www.alwaysagileconsulting.com

Associated with Equal Experts

Page 4: End-To-End Testing Considered Harmful

End-To-End Testing

Page 5: End-To-End Testing Considered Harmful

Home Move

Page 6: End-To-End Testing Considered Harmful

A Home Move Story

Page 7: End-To-End Testing Considered Harmful

A Home Move Story

Page 8: End-To-End Testing Considered Harmful

End-To-End Testing

Page 9: End-To-End Testing Considered Harmful

End-To-End Testing

Page 10: End-To-End Testing Considered Harmful

End-To-End Testing

Page 11: End-To-End Testing Considered Harmful

High Coverage?

Page 12: End-To-End Testing Considered Harmful

High Coverage?

Page 13: End-To-End Testing Considered Harmful

Low Coverage

Page 14: End-To-End Testing Considered Harmful

Low Coverage

Page 15: End-To-End Testing Considered Harmful

End-To-End Testing

Page 16: End-To-End Testing Considered Harmful

Low Investment?

Page 17: End-To-End Testing Considered Harmful

Low Investment?

Page 18: End-To-End Testing Considered Harmful

High Investment

Page 19: End-To-End Testing Considered Harmful

High Investment – Response Times

Page 20: End-To-End Testing Considered Harmful

High Investment – Non-determinism

Page 21: End-To-End Testing Considered Harmful

End-To-End Testing

Page 22: End-To-End Testing Considered Harmful

Continuous Testing

Page 23: End-To-End Testing Considered Harmful

High Coverage

Page 24: End-To-End Testing Considered Harmful

High Coverage

Page 25: End-To-End Testing Considered Harmful

Low Investment

Page 26: End-To-End Testing Considered Harmful

Continuous Testing

Page 27: End-To-End Testing Considered Harmful

Unit Testing

Name Test Scope Quantity Frequency Duration Env

UnitTesting

Intent vs. impl Units of service

100 → 1000+

Per build < 30s total

● Local● Build

Page 28: End-To-End Testing Considered Harmful

Name Test Scope Quantity Frequency Duration Env

Acceptance Testing

Impl vs. reqs Service 10 → 100+

Per build < 10m total

● Local● Build

Acceptance Testing

Page 29: End-To-End Testing Considered Harmful

Name Test Scope Quantity Frequency Duration Env

Exploratory Testing

Explore impl vs. reqs

Service 10 → 100+

Per build Timebox per test

● Local● 3rd party

Exploratory Testing

Page 30: End-To-End Testing Considered Harmful

Name Test Scope Quantity Frequency Duration Env

Contract Testing

3rd party impl vs. reqs

3rd party service(s)

~20 Per 3rd party deploy

< 1m total

● 3rd party● Build

Contract Testing

Page 31: End-To-End Testing Considered Harmful

Contract Testing

Page 32: End-To-End Testing Considered Harmful

Name Test Scope Quantity Frequency Duration Env

Smoke Testing

Impl vs. reqs Entire system

~5 Per deploy < 5m total

All

Smoke Testing

Page 33: End-To-End Testing Considered Harmful

Monitoring

Name Test Scope Quantity Frequency Duration Env

Monitoring Impl vs. reqs Entire system

10 → 100

Always < 10s total

All

Monitoring

Page 34: End-To-End Testing Considered Harmful

Continuous Testing

Name Test Scope Quantity Frequency Duration Env

UnitTesting

Intent vs. impl Units of service

100 → 1000+

Per build < 30s total

● Local● Build

Acceptance Testing

Impl vs. reqs Service 10 → 100+

Per build < 10m total

● Local● Build

Exploratory Testing

Explore impl vs. reqs

Service 10 → 100+

Per build Timebox per test

● Local● 3rd party

Contract Testing

3rd party impl vs. reqs

3rd party service(s)

~20 Per 3rd party deploy

< 1m total

● 3rd party● Build

Smoke Testing

Impl vs. reqs Entire system

~5 Per deploy < 5m total

All

Monitoring Impl vs. reqs Entire system

10 → 100+

Always < 10s total

All

Page 35: End-To-End Testing Considered Harmful

Caveats

Page 36: End-To-End Testing Considered Harmful

End-To-End Testing

“Not only won’t system testing catch all the bugs, but it will take longer and cost more – more than you save by skipping effective acceptance testing”

Gerald Weinberg

End-To-End Testing looks good, but is invariably bad

Continuous Delivery needs rapid, reliable feedback

Continuous Testing is a worthwhile investment

Page 37: End-To-End Testing Considered Harmful

End-To-End TestingConsidered Harmful

Steve Smith

@AgileSteveSmith

www.alwaysagileconsulting.com