CSC/ECE 517 Fall 2010/ch1 1f TU: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
= Unit Testing = | = Unit Testing = | ||
Units are the smallest building blocks of software. In a language like C, individual | |||
functions make up the units. Unit testing is the process of validating such small building | |||
blocks of a complex system much before testing an integrated large module or the system | |||
as a whole. Some of the major benefits are: | |||
• Be able to test parts of a project with out waiting for the other parts to be available, | |||
• Achieve parallelism in testing by being able to test and fix problems simultaneously | |||
by many engineers, | |||
• Be able to detect and remove defects at a much less cost compared to other later | |||
stages of testing, | |||
• Be able to take advantage of a number of formal testing techniques available for unit | |||
testing, | |||
• Simplify debugging by limiting to a small unit the possible code areas in which to | |||
search for bugs, | |||
• Be able to test internal conditions that are not easily reached by external inputs in the | |||
larger integrated systems (for example, exception conditions not easily reached in | |||
normal operation) | |||
• Be able to achieve a high level of structural coverage of the code, | |||
• Avoid lengthy compile-build-debug cycles when debugging difficult problems. |
Revision as of 22:34, 4 September 2010
Unit-testing frameworks for Ruby
Unit Testing
Units are the smallest building blocks of software. In a language like C, individual functions make up the units. Unit testing is the process of validating such small building blocks of a complex system much before testing an integrated large module or the system as a whole. Some of the major benefits are: • Be able to test parts of a project with out waiting for the other parts to be available, • Achieve parallelism in testing by being able to test and fix problems simultaneously by many engineers, • Be able to detect and remove defects at a much less cost compared to other later stages of testing, • Be able to take advantage of a number of formal testing techniques available for unit testing, • Simplify debugging by limiting to a small unit the possible code areas in which to search for bugs, • Be able to test internal conditions that are not easily reached by external inputs in the larger integrated systems (for example, exception conditions not easily reached in normal operation) • Be able to achieve a high level of structural coverage of the code, • Avoid lengthy compile-build-debug cycles when debugging difficult problems.