In This Chapter

Unit Testing

Authored by: Keith W. Miller

Encyclopedia of Software Engineering

Print publication date:  November  2010
Online publication date:  November  2010

Print ISBN: 9781420059779
eBook ISBN: 9781351249270
Adobe ISBN:


 Download Chapter



Software unit testing, also known as component testing, focuses on the most concrete level of abstraction in a programming project. Unit testing is contrasted with integration testing and system testing. Unit testing often requires “scaffolding,” extra code necessary to test the unit in isolation from the rest of an application. Both choosing the test inputs and determining the expected output are challenging tasks, but the latter (the “oracle problem”) usually takes more time. For exceptionally simple units, testing each possible input is possible; but for most software, such exhaustive testing is impractical. When exhaustive testing is impossible, deciding when to stop testing is a difficult question with many possible answers, none of which is conclusive. Automated tools are often important in unit testing, including the recently popular “xUnit” tools that are used in some agile techniques.

Search for more...
Back to top

Use of cookies on this website

We are using cookies to provide statistics that help us give you the best experience of our site. You can find out more in our Privacy Policy. By continuing to use the site you are agreeing to our use of cookies.