Treat yourself - A tale about dog training and test-driven development
What can dog training teach us about writing software? Discover how positive reinforcement and TDD create a powerful feedback loop that leads to cleaner, more reliable code.
#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.
Matching moments
02:23 MIN
Using test-driven development to guide implementation
How Unit Testing Saved My Career
02:14 MIN
Exploring the key benefits of adopting TDD
Breaking the Bug Cycle: TDD for the Win
04:05 MIN
Evaluating the benefits and challenges of TDD
Why you must use TDD now!
04:36 MIN
Introducing the core principles of test-driven development
Breaking the Bug Cycle: TDD for the Win
02:39 MIN
Applying Test-Driven Development (TDD) strategically
How not to test
04:50 MIN
Introduction and overview of the TDD talk
Why you must use TDD now!
13:29 MIN
Recap and practical advice for testing applications
Test Driven Development with JavaScript
02:12 MIN
Applying pair programming and test-driven development
Building the Right Product and Building It Right: A Glimpse into Extreme Programming, Atomic Design
New TestThe basic purpose of narrative is to entertain, to gain and hold readers’ interest. However narratives can also be written to teach or inform, to change attitudes / social opinions e.g. soap operas and television dramas that are used to raise topical...
Gerry Schneider
I have a stream! Why it’s definitely worth speaking at tech conferences.Giving talks at certain events is a longed-for goal for many developers. For a good reason: it is the perfect opportunity to share your expertise and passion for a specific topic, help others learn from your mistakes, drive awareness of your solution...
Chris Heilmann
WWC24 Talk - Brenda Romero - Stay: Surviving and Thriving in TechBrenda Romero discusses her tech career journey, overcoming burnout, and inspiring future game developers at WWC24.Here is what she had to say in the video:Hey everyone! Thanks for joining us!Reflections on a Rough YearLast year, I gave a talk about ...
From learning to earning
Jobs that call for the skills explored in this talk.