Test Driven Development (TDD)

Test-Driven Development (TDD) is an evolutionary approach of development which combines
Test-First Development where you first write the test cases, before you write just
enough production code to fulfill that test and refactoring. A key TDD concept is
that preparing test cases before coding facilitates rapid feedback changes.

At Congruent we combine our SCRUM process with TDD. The testers write test cases
(manual / automated) before development and share it with the developers. The automated
unit tests are created in Visual Studio and integrated along with the build. After
the development of the code, the developer shall walk through / execute the test
cases to ensure that they all pass. TDD ensures that the number of cycles of testing
and the bugs can be effectively reduced when the test cases are created before development
and shared to the development team. The challenge here is to come up with an extensive
list of test cases before the development with as little requirements that have
been specified.