Unit Test

In computer programming, a unit test is a method of testing the correctness of a particular module of source code. The idea is to write test cases for every non-trivial function or method in the module so that each test case is separate from the others if possible.

Benefits

The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. It provides a written contract that the piece must satisfy. This isolated testing provides two main benefits:
1. Encourages change
Unit testing allows the programmer to refactor code at a later date, and make sure the module still works correctly (regression testing). This provides the benefit of encouraging programmers to make changes to the code since it is easy for the programmer to check if the piece is still working properly.
2. Simplifies Integration
Unit testing helps eliminate uncertainty in the pieces themselves and can be used in a bottom-up testing style approach. By testing the parts of a program first and then testing the sum of its parts will make integration testing easier.

Limitations

It is important to realize that unit-testing will not catch every error in the program. By definition, it only tests the functionality of the units themselves. Therefore, it will not catch integration errors, performance problems and any other system-wide issues. Unit testing is only effective if it is used in conjunction with other software testing activities.

Applications

Unit Testing predates, by far, Extreme Programming. The unit testing concept is part of the Extreme Programming method of software engineering. Various unit testing frameworks, based on a design by Kent Beck, have come to be known as xUnit testing frameworks and are available for many programming languages and development platforms. Unit testing is the building block to test driven development (TDD). Extreme Programming and most other methods use unit tests to perform black box testing. Note that the Extreme Programming community has renamed unit tests to "programmer tests". The D programming language offers direct support for unit testing.

See also

External links

 

<< PreviousWord BrowserNext >>
toyama, toyama
okinawa, okinawa
new hebrides
tirupati
iso 3166 1
the lodge
deng nan
diogenes apolloniates
government house
partnership
business entity
sp balasubramanyam
spb
ishmael
lata mangeshkar
iso 3166 2:mx
governorates of iraq
list of japanese authors:j
iso 3166 2:ec
deng pufang
orientable manifold
new york herald
caliban
kvm
crazy horse (disambiguation)
mildred elizabeth sisk
model airport
positional asphyxia
suffocation
macrobert arts centre
silvan shalom
henry stuart
guinness book of astronomy
14th century in literature
gmc
f 101 voodoo
financial cryptography
.com
iso country code
lunar
thomas e. white
olga korbut
rhein pfalz kreis
nicols guilln