Software Testing Knowledge Area

Software testing consists of the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the specified expected behavior. It includes five sub-areas.

It begins with a description of basic concepts. First, the testing terminology is presented, then the theoretical foundations of testing are described, with the relationship of testing to other activities.

The second sub-area is the test levels. They are divided between the targets and the objectives of the tests.

The third sub-area are the test techniques themselves. A first category is grouped on the criterion of the base on which tests are generated, and a second group based on the ignorance of knowledge of implementation. A discussion of how to select and combine the appropriate techniques is presented.

The fourth sub-area covers test-related measures. The measures are grouped into those related to the evaluation of the program under test and the evaluation of the tests performed.

The last sub-area describes the management specific to the test process. It includes management concerns and test activities.

The above summary was adapted from the Introduction to the IEEE Computer Society's SWEBOK Guide. For more information on the Software Requirements Knowledge Area, read Chapter 5 of the SWEBOK Guide.





IEEE Std 829™-1998


IEEE Standard for Software Test Documentation

A set of basic software test documents is described. This standard specifies the form and content of individual test documents. It does not specify the required set of test documents.

IEEE Std 982.1™-1988


IEEE Standard Dictionary of Measures to Produce Reliable Software


This standard provides a set of measures indicative of software reliability that can be applied to the software product as well as to the development and support processes. It was motivated by the need of software developers and users who are confronted with a plethora of models, techniques, and measures. There is a need for measures that can be applied early in the development process that may be indicators of the reliability of the delivered product. This standard provides a common, consistent definition of a set of measures that may meet those needs.

IEEE Std 1008™-1987 (R1993)


IEEE Standard for Software Unit Testing

This standard's primary objective is to specify a standard approach to software unit testing that can be used as a basis for sound software engineering practice. A second objective is to describe the software engineering concepts and testing assumptions on which this standard approach is based. ... A third objective is to provide guidance and resource information to assist with the implementation and usage of the standard unit testing approach.

IEEE Std 1044™-1993

IEEE Standard Classification for Software Anomalies

A uniform approach to the classification of anomalies found in software and its documentation is provided. The processing of anomalies discovered during any software life cycle phase are described, and comprehensive lists of software anomaly classifications and related data items that are helpful to identify and track anomalies are provided. This standard is not intended to define procedural or format requirements for using the classification scheme. It does identify some classification measures and does not attempt to define all the data supporting the analysis of an anomaly.

IEEE Std 1063™-2001

IEEE Standard for Software User Documentation

Minimum requirements for the structure, information content, and format of user documentation, including both printed and electronic documents used in the work environment by users of systems containing software, are provided in this standard.

IEEE Std 1228™-1994

IEEE Standard for Software Safety Plans

The minimum acceptable requirements for the content of a software safety plan are established. This standard applies to the software safety plan used for the development, procurement, maintenance, and retirement of safety-critical software. This standard requires that the plan be prepared within the context of the system safety program. Only the safety aspects of the software are included. This standard does not contain special provisions required for software used in distributed systems or in parallel processors.

About IEEE standard numbers.