test-driven development
Home > Software Quality Definitions - Test-driven development
SearchSoftwareQuality.com Definitions (Powered by WhatIs.com)
EMAIL THIS
LOOK UP TECH TERMS Powered by: WhatIs.com
Search listings for thousands of IT terms:
Browse tech terms alphabetically:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

test-driven development


Show me everything on Test-driven development (TDD)


Word of the Day


DEFINITION -

Test-driven development (TDD), also called test-driven design, is a method of software development in which unit testing is repeatedly done on source code. The concept is to "get something working now and perfect it later." After each test, refactoring is done and then the same or a similar test is performed again. The process is iterated as many times as necessary until each unit is functioning according to the desired specifications. Test-driven development is part of a larger software design paradigm known as Extreme Programming (XP).

Test-driven development can produce applications of high quality in less time than is possible with older methods. Proper implementation of TDD requires the developers and testers to accurately anticipate how the application and its features will be used in the real world. Problems are approached in an incremental fashion and tests intended for the same unit of code must often be done many times over. The methodical nature of TDD ensures that all the units in an application have been tested for optimum functionality, both individually and in synergy with one another. Because tests are conducted from the very beginning of the design cycle, time and money spent in debugging at later stages is minimized.

One of the chief limitations of TDD is the fact that tests can sometimes be incorrectly conceived or applied. This may result in units that do not perform as expected in the real world. Even if all the units work perfectly in isolation and in all anticipated scenarios, end users may encounter situations not imagined by the developers and testers. The final results of TDD are only as good as the tests that have been used, the thoroughness with which they have been done and the extent to which they mimic conditions encountered by users of the final product.

Learn more about Test-driven development (TDD)
Developing test design driven software: This chapter excerpt outlines the origin of software bugs and glitches and provides an overview in the history of test driven development.
Better software through debugging and unit testing: Bugs plague software project big and small, and today's complicated software makes debugging more difficult than ever. Let these tips, tutorials, podcasts and articles help you.
Better software through debugging and unit testing -- Other useful resources: Here is a list of books, blogs and Web sites that can offer you more information on debugging, unit testing, XP and test-driven development.
Better software through debugging and unit testing -- Unit testing, Extreme Programming and TDD: Unit testing is a key element of Extreme Programming (XP) and test-driven development (TDD). These tips, tutorials and articles will help you further understanding unit testing.
Addressing software quality issues with development models, methods: Each development model has its own practices for building quality software. The challenge is determining which one fits your needs. The resources here can help you decide.

LAST UPDATED: 04 Apr 2007

Do you have something to add to this definition? Let us know.
Send your comments to techterms@whatis.com

More resources from around the web:
- Agile Data provides an introduction to TDD.
- Testdriven.com is devoted to the promotion of tools and techniques for TDD.
- Astels Consulting introduces an outgrowth of TDD called behavior-driven development (BDD).





FILE EXTENSION AND FILE FORMAT LIST
File Extension and File Format List:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #


RELATED CONTENT
Testers debate differences between waterfall, Agile test automation
Two professional testers continue the timeless debate, agile vs waterfall, which is the best methodology for test-driven software development.
Accelerating Agile testing with computer assistance
Agile testing expert Matt Heusser talks about the risks of relying on automated test tools only and how to mix manual and automated testing to speed...
Accelerate your agile software testing
This expert tip explains how adopting agile development and risk-driven and test-driven development can accelerate testing.

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
continuous integration  (SearchSoftwareQuality.com)
Continuous integration (CI) is a software engineering practice in which developers integrate their work frequently. The practice is thought to enable...
JUnit  (SearchSoftwareQuality.com)
JUnit is an open source framework designed for the purpose of writing and running tests in the Java programming language... (Continued)




Software Quality - test-driven development Articles
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts