Upload
matteo-papadopoulos
View
288
Download
0
Embed Size (px)
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
Citation preview
to test, or not to test?
to test, or not to test?this is the problem
Matteo Papadopoulos @spleenteo || @teamcantiere
SMALL STARTUPS !
BIG STRATUPS !
ENTERPRISE}
SMALL STARTUPS !
BIG STRATUPS !
ENTERPRISE} QUALITY
} QUALITY = TEST
} QUALITY = TEST {UNIT !
INTEGRATION !
TDD !
BDD
{ UNIT TESTthe smallest testable part of an application
TEST
INTEGRATION TESTsoftware modules are combined
and tested as a group
TEST
TEST DRIVEN DEVELOPMENTRED » GREEN » REFACTOR
TEST
BEHAVIOUR DRIVEN DEVELOPMENT
What and how should I test?
TEST
SALES APPROACHa customer should know about testing?
NO?NO DISCUSSION
= NO PROBLEM
= NO TIME/BUDGET
= NO TESTS
! !
YO!
a customer should know about testing?
NO DISCUSSION =
NO PROBLEM =
NO TIME/BUDGET =
NO TESTS ! !
YO!
NO?
YES?NO DISCUSSION
= NO PROBLEM
= NO TIME/BUDGET
= NO TESTS
! !
YO!
a customer should know about testing?
TDDBDD?
TEST SUITE
YES?skepticism, fear, disgust
YES?TESTS BRING VALUE
!
TO THE CLIENT !
TO THE DEVS !
TO THE PROJECT
YES!TESTS BRING VALUE
!
TO THE CLIENT !
TO THE DEVS !
TO THE PROJECT
a customer should know about testing?
HOW WE SOLD TESTSand we did it several times!
TRAINING! TRAINING! TRAINING!
HOW WE SOLD TESTS
QUALITY! QUALITY! QUALITY!
HOW WE SOLD TESTS
inner quality and external quality
FULLY TESTED 95%
HOW WE SOLD TESTS
FULLY TESTED CODE
HOW WE SOLD TESTS
bugs reduced by an order of magnitude :)
FULLY TESTED CODE
HOW WE SOLD TESTS
no more regressions!
FULLY TESTED CODE
HOW WE SOLD TESTS
maintainable code
time
cost per change
without test
with test
FULLY TESTED CODE
FULLY TESTED CODE
HOW WE SOLD TESTS
live documentation
• Team growth • Replacing us • Building your own team
essential in many scenarios
to test, or not to test?is the problemthiswhere
?
PROBLEMS?behind the scenes of testing
TESTS ARE SPECS
PROBLEMS ABOUT TESTING
(and clients never know what they want!)
DEVS NEED TIME TO GET USED TO TDD
PROBLEMS ABOUT TESTING
WRITING GOOD TESTS AIN'T SO TRIVIAL
PROBLEMS ABOUT TESTING
CRIMINALOVER-ENGINEERING
PROBLEMS ABOUT TESTING
too much generalization
DOUBLE MANTAINANCE
PROBLEMS ABOUT TESTING
the app & the test suite
DOUBLE SIZE
PROBLEMS ABOUT TESTING
2:1 test to code ratio
DOUBLE STARTUP BUDGET
PROBLEMS ABOUT TESTING
WHAT HAVE WE LEARNED?and keep trying!
ASK 2 BASIC QUESTIONS
WHAT WE LEARNED
COULD THE APP BE CHANGED WITHIN
FEW MONTHS?
WHAT WE LEARNED
code with no test is legacy code
DO YOU REALLY WANT A FULL
BUG FREE APP?
WHAT WE LEARNED
HIRE EXPERTS
WHAT WE LEARNED
or learn with small projects
SEND REPORTS
WHAT WE LEARNED
customers need to know
BE RESOLUTE
WHAT WE LEARNED
you know the values, they don't
"...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!)
Matteo Papadopoulos @spleenteo || @teamcantiere
let's talk about it!