back-to-back testing: Testing in which two or more variants of a component or system are executed with the same inputs, the outputs compared, and analyzed in cases of discrepancies. [IEEE 610]
baseline: A specification or software product that has been formally reviewed or agreed upon, that thereafter serves as the basis for further development, and that can be changed only through a formal change control process. [After IEEE 610]
basic block: A sequence of one or more consecutive executable statements containing no branches. Note: A node in a control flow graph represents a basic block.
basis test set: A set of test cases derived from the internal structure of a component or specification to ensure that 100% of a specified coverage criterion will be achieved.
bebugging: See fault seeding. [Abbott]
behavior: The response of a component or system to a set of input values and preconditions.
benchmark test: (1) A standard against which measurements or comparisons can be made.
(2) A test that is be used to compare components or systems to each other or to a standard
as in (1). [After IEEE 610]
bespoke software: Software developed specifically for a set of users or customers. The opposite is off-the-shelf software.
best practice: A superior method or innovative practice that contributes to the improved performance of an organization under given context, usually recognized as ?best? by otherpeer organizations.
beta testing: Operational testing by potential and/or existing users/customers at an external site not otherwise involved with the developers, to determine whether or not a component or system satisfies the user/customer needs and fits within the business processes. Beta testing is often employed as a form of external acceptance testing for off-the-shelf software in order to acquire feedback from the market.
big-bang testing: A type of integration testing in which software elements, hardware elements, or both are combined all at once into a component or an overall system, rather than in stages. [After IEEE 610] See also integration testing.
black-box technique: See black box test design technique.
black-box testing: Testing, either functional or non-functional, without reference to the internal structure of the component or system.
black-box test design technique: Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
blocked test case: A test case that cannot be executed because the preconditions for its execution are not fulfilled.
bottom-up testing: An incremental approach to integration testing where the lowest level components are tested first, and then used to facilitate the testing of higher level components. This process is repeated until the component at the top of the hierarchy is tested. See also integration testing.
boundary value: An input value or output value which is on the edge of an equivalence partition or at the smallest incremental distance on either side of an edge, for example the minimum or maximum value of a range.
boundary value analysis: A black box test design technique in which test cases are designed based on boundary values. See also boundary value.
boundary value coverage: The percentage of boundary values that have been exercised by a test suite.
boundary value testing: See boundary value analysis.
branch: A basic block that can be selected for execution based on a program construct in which one of two or more alternative program paths is available, e.g. case, jump, go to, ifthen-else.
branch condition: See condition.
branch condition combination coverage: See multiple condition coverage.
branch condition combination testing: See multiple condition testing.
branch condition coverage: See condition coverage.
branch coverage: The percentage of branches that have been exercised by a test suite. 100% branch coverage implies both 100% decision coverage and 100% statement coverage.
branch testing: A white box test design technique in which test cases are designed to execute branches.
buffer: A device or storage area used to store data temporarily for differences in rates of data flow, time or occurrence of events, or amounts of data that can be handeld by the devices or processes involved in the transfer or use of the data. [IEEE 610]
buffer overflow: A memory access defect due to the attempt by a process to store data beyond the boundaries of a fixed length buffer, resulting in overwriting of adjacent memory areas or the raising of an overflow exception. See also buffer.
bug: See defect.
bug report: See defect report.
bug taxonomy: See defect taxonomy.
bug tracking tool: See defect management tool.
business process-based testing: An approach to testing in which test cases are designed based on descriptions and/or knowledge of business processes.
A bit-by-bit comparison of identically positioned bits in two numeric expressions.
An expression that evaluates to either True or False.
A way of passing the address, rather than the value, of an argument to a procedure. This allows the procedure to access the actual variable. As a result, the variable's actual value can be changed by the procedure to which it is passed.
A way of passing the value, rather than the address, of an argument to a procedure. This allows the procedure to access a copy of the variable. As a result, the variable's actual value can't be changed by the procedure to which it is passed.