Agile Software Development, Scrum, Extreme Programing, XP, Test Driven Development, TDD, Feature Driven Development, FDD, Lean, DSDM, Behavior Driven Development, BDD, Refactoring, Pair Programming, Kanban

Good Test, Better Code – From Unit Testing to Behavior-Driven Development

“Testing is design”; “Unit tests are documentation”; “Tests are specifications”. These are sought-after rewards of developer testing practices, but simply writing tests or even writing tests before writing production code doesn’t make these wishes come true. When we take up unit testing, we initially tend to do things a certain way. Over time we might adopt test-driven development, mock-objects, and ultimately we might adopt the specification and design practices that lead to the lauded benefits of self-documenting code, design through test, and ultimately to a greater level of agility. This presentation walks through some of the principal phases of evolving basic testing skills toward sustainable agility through test-driven, client-driven, and behavior-driven programming, touching on unit-testing, mock objects, test-driven development, behavior-driven development, and domain-specific languages for testing.

One comment

  1. Gopal Shah

    I always had difficulty in explaining to my team why code before tests was a problem, I never realized that what we were doing is nothing but reverse engineering and the cost associated with reverse engineering. The presentation gave a very good perspective on this issue.

    BDD seems quite promising to me as I always had difficulties in understanding others units tests.

Comments are closed.