Showing posts with label TDD - Test Driven Development. Show all posts
Showing posts with label TDD - Test Driven Development. Show all posts

Tuesday, August 25, 2009

Advanced ASP.NET MVC


Learn how to extend the ASP.NET MVC framework with dependency injection, view engines, action filters, and more. We’ll see how to apply Test Driven Development and write unit tests with mock objects.


Sunday, June 28, 2009

Video interviews with Uncle Bob aka Robert C. Martin

Software guru Robert C. Martin has some really interesting views on being a software professional and TDD: A developer that is not testing his code is like a doctor that doesn't wash his hands before examining the patient.

Thursday, February 12, 2009

Guidelines for Test-Driven Development

Benefits of Test-Driven Development
  • The suite of unit tests provides constant feedback that each component is still working.
  • The unit tests act as documentation that cannot go out-of-date, unlike separate documentation, which can and frequently does.
  • When the test passes and the production code is refactored to remove duplication, it is clear that the code is finished, and the developer can move on to a new test.
  • Test-driven development forces critical analysis and design because the developer cannot create the production code without truly understanding what the desired result should be and how to test it.
  • The software tends to be better designed, that is, loosely coupled and easily maintainable, because the developer is free to make design decisions and refactor at any time with confidence that the software is still working. This confidence is gained by running the tests. The need for a design pattern may emerge, and the code can be changed at that time.
  • The test suite acts as a regression safety net on bugs: If a bug is found, the developer should create a test to reveal the bug and then modify the production code so that the bug goes away and all other tests still pass. On each successive test run, all previous bug fixes are verified.
  • Reduced debugging time!