
Mirjam Aulbach
Jun 15, 2022
Treat yourself - A tale about dog training and test-driven development

#1about 3 minutes
Connecting dog training principles to software testing
The speaker's background as a dog trainer provides a unique perspective on the principles behind test-driven development.
#2about 6 minutes
Applying positive reinforcement and small steps in training
Effective dog training focuses on reinforcing desired behaviors in small, achievable steps, similar to writing user stories and iterating.
#3about 3 minutes
Understanding the red-green-refactor cycle of TDD
TDD is a programmer-driven technique that follows a red-green-refactor cycle, writing a failing test before writing any implementation code.
#4about 4 minutes
How TDD builds a strong foundation of unit tests
TDD primarily generates fast and reliable unit tests, forming the stable base of the testing pyramid essential for agile development.
#5about 6 minutes
Building a dog training simulator with TDD
A practical coding example begins by writing the first failing tests to initialize a `Dog` class and assign it a name in JavaScript.
#6about 7 minutes
Using TDD to implement logic and catch bugs early
The TDD cycle helps catch a logical bug early when implementing rewards, demonstrating its value in preventing errors from reaching users.
#7about 4 minutes
Refactoring implementation and test code with confidence
With a suite of passing tests in place, the implementation and test code can be safely refactored to be more maintainable and less repetitive.
#8about 6 minutes
Simulating the learning process with a counter
A counter is added to track rewarded behaviors, allowing the dog to "learn" a command after a set number of successful repetitions.
#9about 4 minutes
Adopting TDD as a design tool, not just a testing method
TDD should be viewed as a code design strategy that promotes focus and clean architecture, but it's important to apply it pragmatically rather than dogmatically.
Related jobs
Jobs that call for the skills explored in this talk.
yesterday
SAP Developer IT HR (m/w/d)

Deichmann SE
Essen, Germany
Intermediate
15 days ago
Softwareentwickler / Anwendungsentwickler (m/w/d) m/w/d

Personalwerk GmbH
Junior
Intermediate
15 days ago
Backend Developer Java (m/w/d)

Sopra Steria Custom Software Solutions GmbH
München, Germany
Senior