| Test Driven Development |
|
One of TDD’s primary principles is writing the tests first. These tests dictate the development of a class or a piece of code. This is a radical shift from the traditional way of having tests written by another group usually separate from the developers involved in writing of the code as a quality assurance process before an application is shipped. Another tenet of TDD is that no code is published without its tests. In fact Martin Fowler argues that TDD lends itself to the refactoring process by providing a way to quickly verify changes.
The following are the steps involved in test driven development but. This list does not detail in absolute terms all the processes that have to be followed.
Some good test writing skills mentioned in the article include but are not limited to testing only one thing in one test. This helps ease the testing process and certainly makes the tests generated easier to understand and use during the maintenance of an application. Having readymade tests helps maintainers by allowing them to easily verify the integrity of a system after a change by rerunning the tests for a given module or set of modules. The process of writing tests is not just confined to new development. Maintenance programmers are also encouraged to write tests as they set out to fix any bugs that are in an existing system or as they set out to make enhancements to existing code. Test driven development first came into light from the extreme programming practices that also encourage pair programming among a set of other practices that are aimed at improving the quality of software. May have attributed success of their development efforts to extreme programming and even so test driven development is one of the few practices from extreme programming that many are encouraged to adopt first. Test driven development does improve the quality of the programs that come out of a team. An attribute of a good quality application is one that is easy to maintain. Undoubtedly an application with tests renders itself a good candidate to add updates to and even make changes without worry of the unexpected. The TDD process does require developers to start thinking of requirements a lot more differently than they have traditionally done. This process also brings the testing groups closer to developers. As a result testers can start performing tests on the system early on, allowing them more time to find bugs and having them fixed early in the development phase. Traditional testing practices for example in the waterfall model push testing as the last phase of any development effort. Developers are typically not involved in the testing process and thus developers and testers are far removed from each other. Teams in this set up do not have great relations. Add as favourites (60) | Quote this article on your site
|
||||||||
| < Prev | Next > |
|---|
developer development number user developers management option company open source programs cost support business operating application name type person programming applications projects instance systems product testing program data requirements tests time good important domain employees content customers project programmers needs create solution education process design work specific code computer practices java customer language needed