CSC/ECE 517 Fall 2010/ch1 1f TU: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
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.