Software Testing Concepts

The different levels of testing

Unit TestingThere are four levels of software testing:

unit testing, which is done by the programmer during development; "unit" refers to "program", "module", or whatever, including ActiveX objects, DLLs, etc. The emphasis is on the correct functioning of the individual program.

system testing, which is testing of related modules or programs, on one platform, in a restricted environment, with no access to other systems; "stubs" or "dummied files" are used where other systems integrate with the system under test. The emphasis is on the flow of data from one program to another within the system under test. Systems external to the system under test are ignored.

Integration Testingintegration testing, which is testing of interacting systems; the emphasis is on the flow of data between systems.

acceptance testing, which is the formal acceptance of a finished product, ensuring that the product satisfies the original business requirements.

All of these are important, and are done during the development of most software products. Each builds on the previous, and assumes that the previous level has been done reasonably thoroughly and correctly.

However, deadlines always slip, especially in large projects, and so testing often gets compromised, since it is the last thing in the system development life cycle, and the deadline is looming. Typically, the programmers do only minimal testing, with no documentation of test results, hoping that problems will be picked up in the later stages of testing. Many companies also skip the system testing phase entirely, expecting that integration testing will pick up any problems.

This means that a massive emphasis is placed on integration testing, and that problems discovered are now much harder to fix, if only because they are several levels away from where the problem is generated, and different people are involved.

Also, as the deadline looms ever closer, many companies do no formal acceptance testing, which can be a major mistake, especially on a large project, as this is the only time that anyone actually looks at what was delivered and asks, "Is this what we asked for?"

If you got to this page via a Search Engine, click here to go to the start.
Send mail to Doug Anderson with questions or comments about this Web site.
Copyright © 1998-2007 Doug Anderson
Last modified: 20 Nov 2007