![Page 1: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/1.jpg)
@aleks_voronov
TDD in Real WorldALEXANDER VORONOV
@aleks_voronov
![Page 2: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/2.jpg)
@aleks_voronov
WHAT IS NATURAL?
![Page 3: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/3.jpg)
@aleks_voronov
SURVIVAL OF THE FITTEST
![Page 4: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/4.jpg)
@aleks_voronov
MANUAL TESTING
![Page 5: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/5.jpg)
@aleks_voronov
OH YOU THINK IT'S FASTER?
![Page 6: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/6.jpg)
@aleks_voronov
OH YOU THINK IT'S FASTER?
![Page 7: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/7.jpg)
@aleks_voronov
LESSONS LEARNED
![Page 8: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/8.jpg)
@aleks_voronov
– Heraclitus
“Everything flows”
![Page 9: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/9.jpg)
@aleks_voronov
SUCCESS!
![Page 10: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/10.jpg)
@aleks_voronov
OR IS IT?
![Page 11: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/11.jpg)
@aleks_voronov
FEEDBACK LOOP
![Page 12: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/12.jpg)
@aleks_voronov
AUTOMATED TESTING
![Page 13: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/13.jpg)
@aleks_voronov
UNIT TESTS
INTEGRATION TESTS
ACCEPTANCE TESTS
MANUAL
![Page 14: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/14.jpg)
@aleks_voronov
UNIT TESTS
INTEGRATION TESTS
ACCEPTANCE TESTS
MANUAL
![Page 15: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/15.jpg)
@aleks_voronov
UNIT TESTS
INTEGRATION TESTS
ACCEPTANCE TESTS
MANUAL
![Page 16: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/16.jpg)
@aleks_voronov
UNIT TESTS
INTEGRATION TESTS
ACCEPTANCE TESTS
MANUAL
![Page 17: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/17.jpg)
@aleks_voronov
SELF-TESTING CODE
![Page 18: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/18.jpg)
@aleks_voronov
TEST DRIVEN DEVELOPMENT
![Page 19: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/19.jpg)
@aleks_voronov
TDD AS A PRACTICE DEVELOPMENT PRACTICE
![Page 20: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/20.jpg)
@aleks_voronov
TESTS FIRSTRED ‣ GREEN ‣ REFACTOR
![Page 21: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/21.jpg)
@aleks_voronov
THINK FIRSTTHINK ‣ RED ‣ GREEN ‣ REFACTOR
![Page 22: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/22.jpg)
@aleks_voronov
PROFIT✨
![Page 23: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/23.jpg)
@aleks_voronov
SOUNDS LIKE WE ACHIEVE SAME WITH
UNIT TESTS...
![Page 24: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/24.jpg)
@aleks_voronov
UNIT TESTING VS TDD
![Page 25: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/25.jpg)
@aleks_voronov
ONLY NECESSARY CODEBEST CODE IS NO CODE
![Page 26: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/26.jpg)
@aleks_voronov
RED STAGE SCHOOLTRUE TEST ALWAYS
REMEMBERS WHERE IT COMES FROM
![Page 27: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/27.jpg)
@aleks_voronov
CLEANER INTERFACES
![Page 28: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/28.jpg)
@aleks_voronov
CLEANER INTERFACES‣ TESTS ARE FIRST TO USE CODE
![Page 29: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/29.jpg)
@aleks_voronov
CLEANER INTERFACES‣ TESTS ARE FIRST TO USE CODE
‣ PLAY IN PURE SANDBOX ENVIRONMENT
![Page 30: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/30.jpg)
@aleks_voronov
CLEANER INTERFACES‣ TESTS ARE FIRST TO USE CODE
‣ PLAY IN PURE SANDBOX ENVIRONMENT‣ UNBIASED DESIGNING
![Page 31: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/31.jpg)
@aleks_voronov
CLEANER INTERFACES‣ TESTS ARE FIRST TO USE CODE
‣ PLAY IN PURE SANDBOX ENVIRONMENT‣ UNBIASED DESIGNING
‣ POORLY DESIGNED CODE WITH TESTS IS STILL BETTER THANPOORLY DESIGNED CODE WITHOUT TESTS
![Page 32: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/32.jpg)
@aleks_voronov
QUESTIONS ARISE
![Page 33: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/33.jpg)
@aleks_voronov
WHAT IF I NEED CODE FIRST?
![Page 34: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/34.jpg)
@aleks_voronov
SPIKE SOLUTION
![Page 35: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/35.jpg)
@aleks_voronov
SPIKE SOLUTION‣ ISOLATE
![Page 36: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/36.jpg)
@aleks_voronov
SPIKE SOLUTION‣ ISOLATE
‣ SHORTEN FEEDBACK LOOP: REPL, PLAYGROUND, FIDDLE
![Page 37: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/37.jpg)
@aleks_voronov
SPIKE SOLUTION‣ ISOLATE
‣ SHORTEN FEEDBACK LOOP: REPL, PLAYGROUND, FIDDLE
‣ SETUP SANDBOX: LIBRARIES, STUBBED RESPONSES
![Page 38: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/38.jpg)
@aleks_voronov
REFACTORING WITH TDD
![Page 39: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/39.jpg)
@aleks_voronov
REFACTORING IS ABOUT CODE NOT LOGIC
![Page 40: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/40.jpg)
@aleks_voronov
CHANGING INTERFACE
![Page 41: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/41.jpg)
@aleks_voronov
I ❤ PROTOCOLS
![Page 42: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/42.jpg)
@aleks_voronov
STRIVE FOR CONFIDENCE
![Page 43: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/43.jpg)
@aleks_voronov
CHANGING IMPLEMENTATION
![Page 44: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/44.jpg)
@aleks_voronov
DEPENDENCIES
![Page 45: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/45.jpg)
@aleks_voronov
TEST DOUBLES
![Page 46: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/46.jpg)
@aleks_voronov
TEST DOUBLES‣ DUMMIES
![Page 47: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/47.jpg)
@aleks_voronov
TEST DOUBLES‣ DUMMIES‣ FAKES
![Page 48: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/48.jpg)
@aleks_voronov
TEST DOUBLES‣ DUMMIES‣ FAKES‣ STUBS
![Page 49: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/49.jpg)
@aleks_voronov
TEST DOUBLES‣ DUMMIES‣ FAKES‣ STUBS‣ SPIES
![Page 50: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/50.jpg)
@aleks_voronov
TEST DOUBLES‣ DUMMIES‣ FAKES‣ STUBS‣ SPIES‣ MOCKS
![Page 51: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/51.jpg)
@aleks_voronov
TESTING STYLESCLASSICAL & MOCKIST
![Page 52: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/52.jpg)
@aleks_voronov
CLASSICAL TESTING
![Page 53: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/53.jpg)
@aleks_voronov
CLASSICAL TESTING‣ ABOUT STATE
![Page 54: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/54.jpg)
@aleks_voronov
CLASSICAL TESTING‣ ABOUT STATE
‣ CAN BREAK ENCAPSULATION
![Page 55: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/55.jpg)
@aleks_voronov
CLASSICAL TESTING‣ ABOUT STATE
‣ CAN BREAK ENCAPSULATION
‣ USE STUBS
![Page 56: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/56.jpg)
@aleks_voronov
MOCKIST TESTING
![Page 57: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/57.jpg)
@aleks_voronov
MOCKIST TESTING‣ ABOUT BEHAVIOUR
![Page 58: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/58.jpg)
@aleks_voronov
MOCKIST TESTING‣ ABOUT BEHAVIOUR
‣ TELL, DON'T ASK
![Page 59: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/59.jpg)
@aleks_voronov
MOCKIST TESTING‣ ABOUT BEHAVIOUR
‣ TELL, DON'T ASK
‣ USE MOCKS
![Page 60: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/60.jpg)
@aleks_voronov
DETECT BAD SMELL EARLY#
![Page 61: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/61.jpg)
@aleks_voronov
TDD FOR BETTER DESIGN
![Page 62: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/62.jpg)
@aleks_voronov
TESTS ARE FIRST WHO LEAVE FEEDBACK
$ %
![Page 63: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/63.jpg)
@aleks_voronov
TESTS HELP YOU EVOLVE
![Page 64: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/64.jpg)
@aleks_voronov
FUNCTIONAL CORE IMPERATIVE SHELL
![Page 65: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/65.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
![Page 66: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/66.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
![Page 67: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/67.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
‣ TEST SIMPLEST THINGS
![Page 68: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/68.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
‣ TEST SIMPLEST THINGS
‣ GET USED WITH TOOLS
![Page 69: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/69.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
‣ TEST SIMPLEST THINGS
‣ GET USED WITH TOOLS
‣ LET OTHERS SEE WHAT YOU DO
![Page 70: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/70.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
‣ TEST SIMPLEST THINGS
‣ GET USED WITH TOOLS
‣ LET OTHERS SEE WHAT YOU DO
‣ INTRODUCE BOY SCOUT RULE
![Page 71: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/71.jpg)
@aleks_voronov
INTRODUCING TDD TO YOUR TEAM
‣ JUST START WRITING TESTS
‣ TEST SIMPLEST THINGS
‣ GET USED WITH TOOLS
‣ LET OTHERS SEE WHAT YOU DO
‣ INTRODUCE BOY SCOUT RULE
‣ PAIR PROGRAMMING
![Page 72: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/72.jpg)
@aleks_voronov
HOW TO START WRITING TESTS?
![Page 73: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/73.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
![Page 74: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/74.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
![Page 75: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/75.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
‣ START WITH CRITICAL FEATURES
![Page 76: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/76.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
‣ START WITH CRITICAL FEATURES
‣ FIND LOWEST POINT YOU CAN TEST
![Page 77: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/77.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
‣ START WITH CRITICAL FEATURES
‣ FIND LOWEST POINT YOU CAN TEST
‣ ADD TESTS, THEN REFACTOR
![Page 78: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/78.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
‣ START WITH CRITICAL FEATURES
‣ FIND LOWEST POINT YOU CAN TEST
‣ ADD TESTS, THEN REFACTOR
‣ STEP BY STEP
![Page 79: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/79.jpg)
@aleks_voronov
INTRODUCING TDD TO LEGACY PROJECT
‣ REMEMBER BOY SCOUT RULE?
‣ START WITH CRITICAL FEATURES
‣ FIND LOWEST POINT YOU CAN TEST
‣ ADD TESTS, THEN REFACTOR
‣ STEP BY STEP
‣ YES, IT TAKES TIME
![Page 80: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/80.jpg)
@aleks_voronov
INTEGRATIONS
![Page 81: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/81.jpg)
@aleks_voronov
CONTINUOUS INTEGRATION
![Page 82: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/82.jpg)
@aleks_voronov
WALKING SKELETON FIRST
![Page 83: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/83.jpg)
@aleks_voronov
CI SERVICES
![Page 84: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/84.jpg)
@aleks_voronov
SEPARATE JOB PER CONFIG
![Page 85: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/85.jpg)
@aleks_voronov
PULL REQUESTS & CODE REVIEW
![Page 86: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/86.jpg)
@aleks_voronov
MAKE IT FUN AND CLEAR
![Page 87: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/87.jpg)
@aleks_voronov
DESKTOP OR MESSENGER NOTIFICATIONS
![Page 88: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/88.jpg)
@aleks_voronov
MAKE IT FUN AND CLEAR
![Page 89: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/89.jpg)
@aleks_voronov
CONTINUOUS DEPLOYMENT
![Page 90: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/90.jpg)
@aleks_voronov
MAKE IT FUN AND CLEAR
![Page 91: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/91.jpg)
@aleks_voronov
CODE COVERAGE
![Page 92: Alexander Voronov Test driven development in real world](https://reader031.vdocuments.net/reader031/viewer/2022030402/58a8f7851a28ab837c8b5469/html5/thumbnails/92.jpg)
@aleks_voronov
THANK YOU!
QUESTIONS?