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!


Top Related