World Congress 2024 • Aug 20, 2024 • Session details

Breaking the Bug Cycle: TDD for the Win

Nadeen Hussein

End the relentless bug cycle and stop brute-forcing your code. Master Test-Driven Development to eliminate accidental complexity, generate living documentation, and safely tackle technical debt.

Pause
Mute Enter Fullscreen
#1 about 2 min

Transitioning from syntax to professional software development

Early coding education focuses on syntax and speed rather than building robust and scalable systems.

#2 about 1 min

How agile workflows contribute to the bug cycle

Constant requirement changes and fragmented deployment loops often trap teams in a continuous cycle of defects.

#3 about 2 min

Common causes of software bugs and project complexity

Over-engineering systems for hypothetical future edge cases introduces unnecessary complexity and frequent codebase errors.

#4 about 2 min

Shifting to a test-driven development mindset

Test-driven development requires defining minimal inputs and concrete outputs before writing any production application code.

#5 about 2 min

Understanding the fundamental test-driven development loop

The fundamental methodology involves writing a failing test, implementing functional code to pass it, and continuously refactoring.

#6 about 2 min

Applying the three core rules of test-driven development

Strict adherence to writing minimal test and production code prevents accidental over-complication while isolating logic blocks.

#7 about 3 min

Leveraging tests for readable documentation and refactoring

Descriptive unit tests serve as an explicit English textbook for new engineers while securing the system architecture.

#8 about 2 min

Reducing accidental complications in software architecture

Strategic refactoring strips away unnecessary technical baggage caused by disjointed development styles and brute force problem-solving.

#9 about 3 min

Integrating AI tools into the development process

Artificial intelligence engines accelerate test generation from user acceptance criteria but require strict human review.

#10 about 3 min

Advocating for code quality and test coverage

Ensuring complete test coverage simplifies code readability and reduces communication friction with product stakeholders.

#11 about 3 min

Managing technical debt for future team success

Proactively tracking and resolving technical debt accelerates new engineer onboarding and preserves system maintainability.

Matching moments

4:00 min

Adopting test-driven design as a strategic development methodology

Mirjam Aulbach · World Congress 2022

2:50 min

Why software testing builds a strong developmental foundation

Gil Zilberfeld · LIVE

3:00 min

Understanding the test-driven development cycle and workflow

Mirjam Aulbach · World Congress 2022

1:40 min

Adopting a pragmatic approach to test-driven development

Eric Deandrea Eric Deandrea · World Congress 2025

6:24 min

Applying key software design rules to test code

Gil Zilberfeld · LIVE

3:54 min

Weighing the benefits and tradeoffs of test-driven development

Alex Banul · LIVE