Unit testing
In computer programming, unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules together with associated control data, usage procedures, and operating procedures, are tested to determine whether they are fit for use.
Description
Intuitively, one can view a unit as the smallest testable part of an application.
In procedural programming, a unit could be an entire module, but it is more commonly an individual function or procedure.
In object-oriented programming, a unit is often an entire interface, such as a class, but could be an individual method.
Unit tests are short code fragments created by programmers or occasionally by white box testers during the development process. It forms the basis for component testing.
Ideally, each test case is independent from the others.
Substitutes such as method stubs, mock objects, fakes, and test harnesses can be used to assist testing a module in isolation.
Unit tests are typically written and run by software developers to ensure that code meets its design and behaves as intended.
See also
- Acceptance testing
- Build automation
- Characterization test
- Component-based usability testing
- Computer programming
- Design predicates - a method for quantifying the complexity of the integration of two units of software.
- Design by contract
- Extreme programming
- Grunt (JavaScript) - a JavaScript task runner: an automation tool for performing repetitive tasks like minification, compilation, unit testing, linting, etc.
- Integration testing - the phase in software testing in which individual software modules are combined and tested as a group.
- List of unit testing frameworks
- Regression testing
- Software archaeology
- Software engineering
- Software testing
- Source code
- Test case
- Test-driven development
- xUnit – a family of unit testing frameworks