TDD – Build better software



TDD – Build better software

0 0


tdd


On Github mlevvy / tdd

TDD

Build better software

Created by Michał Lewandowski / @lewandm4

Gratification

TDD is an investment

Evolution

Lasse Koskela in "TDD and Acceptance TDD"

“TDD is a technique that evolves together with the practitioner.”

Level 1

Fundamentals

Level 1

TDD Circle

Level 1

Benefits

  • High code coverage
  • Short feedback loop
  • Regression testing

Level 2

Requirements

Level 2

Working with tasks

Level 2

Evolving task list - 1

  • Skip not defined account
  • Skip not configured account
  • Email sent - create a task
  • Support email unsubsribed

Level 2

Evolving task list - 2

  • Skip not defined account
  • Skip not configured account
  • Email sent - create a task
  • Support email unsubsribed

Level 2

Evolving task list - 3

  • Skip not defined account
  • Skip not configured account
  • Report error on wrong mapping
  • Email sent - create a task
  • Support email unsubsribed

Level 2

Evolving task list - 4

  • Skip not defined account
  • Skip not configured account
  • Report error on wrong mapping
  • Email sent - create a task
  • Support email unsubsribed

Level 2

Cucumber

Scenario: Customer has a broker policy so DOB is requested
  Given I have a "Broker" policy
  When I submit my policy number
  Then I should be asked for my date of birth
  					

Level 2

BDD

Level 2

Benefits

  • Focus on requirements
  • Tests are executable specification

Level 3

Understanding

Level 3

TDDesign

Level 3

“Show me your tests, and I will tell you everything about your production code.”

Level 3

Level 3

Benefits

  • Code easy to rewrite
  • Clean architecture

Thank you

tdd.lewandowski.io
TDD Build better software Created by Michał Lewandowski / @lewandm4