to test or not to test? this is the prblem

48
to test, or not to test?

Upload: matteo-papadopoulos

Post on 01-Dec-2014

288 views

Category:

Software


0 download

DESCRIPTION

Our experience in the last 3 years, selling web application developed with full test coverage. How to sell tests? how to explain customers the benefits of this practice? Some tips, no answers to this problem shared with all multiprojects web agency

TRANSCRIPT

Page 1: To test or not to test? this is the prblem

to test, or not to test?

Page 2: To test or not to test? this is the prblem

to test, or not to test?this is the problem

Page 3: To test or not to test? this is the prblem

Matteo Papadopoulos @spleenteo || @teamcantiere

Page 4: To test or not to test? this is the prblem

SMALL STARTUPS !

BIG STRATUPS !

ENTERPRISE}

Page 5: To test or not to test? this is the prblem

SMALL STARTUPS !

BIG STRATUPS !

ENTERPRISE} QUALITY

Page 6: To test or not to test? this is the prblem

} QUALITY = TEST

Page 7: To test or not to test? this is the prblem

} QUALITY = TEST {UNIT !

INTEGRATION !

TDD !

BDD

Page 8: To test or not to test? this is the prblem

{ UNIT TESTthe smallest testable part of an application

TEST

Page 9: To test or not to test? this is the prblem

INTEGRATION TESTsoftware modules are combined

and tested as a group

TEST

Page 10: To test or not to test? this is the prblem

TEST DRIVEN DEVELOPMENTRED » GREEN » REFACTOR

TEST

Page 11: To test or not to test? this is the prblem

BEHAVIOUR DRIVEN DEVELOPMENT

What and how should I test?

TEST

Page 12: To test or not to test? this is the prblem

SALES APPROACHa customer should know about testing?

Page 13: To test or not to test? this is the prblem

NO?NO DISCUSSION

= NO PROBLEM

= NO TIME/BUDGET

= NO TESTS

! !

YO!

a customer should know about testing?

Page 14: To test or not to test? this is the prblem

NO DISCUSSION =

NO PROBLEM =

NO TIME/BUDGET =

NO TESTS ! !

YO!

NO?

Page 15: To test or not to test? this is the prblem

YES?NO DISCUSSION

= NO PROBLEM

= NO TIME/BUDGET

= NO TESTS

! !

YO!

a customer should know about testing?

Page 16: To test or not to test? this is the prblem

TDDBDD?

Page 17: To test or not to test? this is the prblem

TEST SUITE

Page 18: To test or not to test? this is the prblem

YES?skepticism, fear, disgust

Page 19: To test or not to test? this is the prblem

YES?TESTS BRING VALUE

!

TO THE CLIENT !

TO THE DEVS !

TO THE PROJECT

Page 20: To test or not to test? this is the prblem

YES!TESTS BRING VALUE

!

TO THE CLIENT !

TO THE DEVS !

TO THE PROJECT

a customer should know about testing?

Page 21: To test or not to test? this is the prblem

HOW WE SOLD TESTSand we did it several times!

Page 22: To test or not to test? this is the prblem

TRAINING! TRAINING! TRAINING!

HOW WE SOLD TESTS

Page 23: To test or not to test? this is the prblem

QUALITY! QUALITY! QUALITY!

HOW WE SOLD TESTS

inner quality and external quality

Page 24: To test or not to test? this is the prblem
Page 25: To test or not to test? this is the prblem

FULLY TESTED 95%

HOW WE SOLD TESTS

Page 26: To test or not to test? this is the prblem

FULLY TESTED CODE

HOW WE SOLD TESTS

bugs reduced by an order of magnitude :)

Page 27: To test or not to test? this is the prblem

FULLY TESTED CODE

HOW WE SOLD TESTS

no more regressions!

Page 28: To test or not to test? this is the prblem

FULLY TESTED CODE

HOW WE SOLD TESTS

maintainable code

Page 29: To test or not to test? this is the prblem

time

cost per change

without test

with test

FULLY TESTED CODE

Page 30: To test or not to test? this is the prblem

FULLY TESTED CODE

HOW WE SOLD TESTS

live documentation

• Team growth • Replacing us • Building your own team

essential in many scenarios

Page 31: To test or not to test? this is the prblem

to test, or not to test?is the problemthiswhere

?

Page 32: To test or not to test? this is the prblem

PROBLEMS?behind the scenes of testing

Page 33: To test or not to test? this is the prblem

TESTS ARE SPECS

PROBLEMS ABOUT TESTING

(and clients never know what they want!)

Page 34: To test or not to test? this is the prblem

DEVS NEED TIME TO GET USED TO TDD

PROBLEMS ABOUT TESTING

Page 35: To test or not to test? this is the prblem

WRITING GOOD TESTS AIN'T SO TRIVIAL

PROBLEMS ABOUT TESTING

Page 36: To test or not to test? this is the prblem

CRIMINALOVER-ENGINEERING

PROBLEMS ABOUT TESTING

too much generalization

Page 37: To test or not to test? this is the prblem

DOUBLE MANTAINANCE

PROBLEMS ABOUT TESTING

the app & the test suite

Page 38: To test or not to test? this is the prblem

DOUBLE SIZE

PROBLEMS ABOUT TESTING

2:1 test to code ratio

Page 39: To test or not to test? this is the prblem

DOUBLE STARTUP BUDGET

PROBLEMS ABOUT TESTING

Page 40: To test or not to test? this is the prblem

WHAT HAVE WE LEARNED?and keep trying!

Page 41: To test or not to test? this is the prblem

ASK 2 BASIC QUESTIONS

WHAT WE LEARNED

Page 42: To test or not to test? this is the prblem

COULD THE APP BE CHANGED WITHIN

FEW MONTHS?

WHAT WE LEARNED

code with no test is legacy code

Page 43: To test or not to test? this is the prblem

DO YOU REALLY WANT A FULL

BUG FREE APP?

WHAT WE LEARNED

Page 44: To test or not to test? this is the prblem

HIRE EXPERTS

WHAT WE LEARNED

or learn with small projects

Page 45: To test or not to test? this is the prblem

SEND REPORTS

WHAT WE LEARNED

customers need to know

Page 46: To test or not to test? this is the prblem

BE RESOLUTE

WHAT WE LEARNED

you know the values, they don't

Page 47: To test or not to test? this is the prblem

"...Whether ’tis nobler in the mind to suffer, The slings and arrows of outrageous fortune [code], Or to take arms against a sea of troubles [bugs], And by opposing [testing] end them?

For who would bear the whips and scorns of time"

Please forgive me, William (and all of you!)

Page 48: To test or not to test? this is the prblem

Matteo Papadopoulos @spleenteo || @teamcantiere

let's talk about it!