Difference between revisions of "Testing"
(test tutorial) |
|||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | [[ | + | [[w:Test-Driven Development|Test-Driven Development]] is a [[w:software development|software development]] technique consisting of short iterations where new [[w:test case|test case]]s covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is [[w:Refactor|refactored]] to accommodate changes. The availability of tests before actual development ensures rapid feedback after any change. |
− | + | Practitioners emphasize that test-driven development is a [[w:Software engineering|method of designing software]], not merely a method of testing. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Test-Driven Development began to receive publicity in the early twenty-first century as an aspect of [[w:Extreme Programming|Extreme Programming]], but more recently is creating more general interest in its own right. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Along with other techniques, the concept can also be applied to the improvement and removal of [[w:software bug|software defects]] from legacy code that was not developed in this way. | |
− | + | ||
− | : | + | Test-driven development requires that an [[w:test automation|automated unit test]], defining requirements of the code, is written before each aspect of the code itself. These tests contain [[w:Assertion (computing)|assertions]] that are either true or false. Running the tests gives rapid confirmation of correct behaviour as the code evolves and is [[w:Refactoring|refactored]]. Testing frameworks based on the [[w:xUnit|xUnit]] concept (see the [[w:list of unit testing frameworks|list of unit testing frameworks]] for an exhaustive list) provide a mechanism for creating and running sets of automated test cases. |
+ | |||
+ | == See also == | ||
+ | *http://www.lastcraft.com/first_test_tutorial.php | ||
+ | *[[w:JUnit]] | ||
+ | *[[w:Unit testing]] | ||
+ | *[[Selenium]] |
Latest revision as of 04:14, 23 December 2007
Test-Driven Development is a software development technique consisting of short iterations where new test cases covering the desired improvement or new functionality are written first, then the production code necessary to pass the tests is implemented, and finally the software is refactored to accommodate changes. The availability of tests before actual development ensures rapid feedback after any change. Practitioners emphasize that test-driven development is a method of designing software, not merely a method of testing.
Test-Driven Development began to receive publicity in the early twenty-first century as an aspect of Extreme Programming, but more recently is creating more general interest in its own right.
Along with other techniques, the concept can also be applied to the improvement and removal of software defects from legacy code that was not developed in this way.
Test-driven development requires that an automated unit test, defining requirements of the code, is written before each aspect of the code itself. These tests contain assertions that are either true or false. Running the tests gives rapid confirmation of correct behaviour as the code evolves and is refactored. Testing frameworks based on the xUnit concept (see the list of unit testing frameworks for an exhaustive list) provide a mechanism for creating and running sets of automated test cases.