Wednesday, November 28, 2012

What is Test Driven Development?

The developer develops the bare minimum functionality for the entire task without any unit testing and delivers it to the Test team.

The Test team tests the functionality and files bugs saying either the functionality is missing or not working for mainline scenarios.

For functionality missing bugs, the developer implements just the mainline scenario, and for the main line scenario not working bugs, he makes it work just for the mainline scenario and delivers the code.

The test team tests the functionality again, and files bugs saying, either the mainline scenarios are not working for the previously missing functionality or other scenarios are not working.

Developer fixes those again, and delivers it.

Then the test team finds few more scenarios and few corner cases and files bugs on those.

This cycle is repeated, till the code satisfies all the requirements.

This is called Test Driven Development.

The advantage in this method is, the developer does not need to give accurate estimates to the manager, in terms of no.of tasks or duration of each task. We can finish the project, whenever the manager wants. [i.e., we say that, we are done with the tasks on the deadline given by the manager.]

The only disadvantage is, the testers will lose interest in software and/or their life.

[If you really don't know what is test driven development, and if you follow this, then the testers' life becomes miserable. In real test driven development, we have to replace test team with automated testcases.]

With sympathy on all the testers who are testing my code.

No comments:

Post a Comment