Practical Software Testing: A Process-Oriented Approach

The study of software testing in this text begins with a description of essential test-related vocabulary items. Knowledge of these basic terms is essential to insure that the discussions of testing concepts that follow are based on a common vocabulary that is widely accepted in academia and industry. A set of execution-based testing principles is also presented here to support test specialists. They provide a foundation for developing testing knowledge, acquiring testing skills, and developing an essential group of best practices. This introduction to the field of software testing concludes with a description of the role of the test specialist in a software development organization.
Below is a set of basic definitions for terms will be used in this text. Additional definitions appear in subsequent chapters to aid in concept understanding. Many of the definitions used in this text are based on the terms described in the IEEE Standards Collection for Software Engineering [1]. The standards collection includes the IEEE Standard Glossary of Software Engineering Terminology, which is a dictionary devoted to describing software engineering vocabulary [2]. It contains working definitions of terms that are in use in both the academic and industrial worlds. Where a definition has been directly adapted from an IEEE standards document a specific reference is given.
An error is a mistake, misconception, or misunderstanding on the part of a software developer.
In the category of developer we include software engineers, programmers,...