COEN 286: Software Quality Assurance and Testing -- fall, 2001

Process and Testing

Prof. John Noll

Santa Clara University

Tue Nov 13 16:19:21 2001


 

1. Process Overview

1.1 Definitions

Process

``... a set of activities, methods, practices, and transformations that people use to develop and maintain software...'' (Paulk et al).

Process Capability

``... the range of expected results that can be achieved by following a software process.'' (Paulk et al).

Process Performance

``... the actual results achieved by following a process.'' (Paulk et al).

Note: higher performance can be achieved by lower capability, and vice-versa.

Process Maturity

``... the extent to which a specific process is explicitly defined, managed, measured, controlled, and effective.'' (Paulk et al).

Hypothesis: higher maturity means higher capability which means higher performance.

1.2 Why Process

2. CMM Overview

Five maturity levels:

  1. Initial - ad hoc or chaotic process. Success achieved by heroics. ``Hire the best people we can find, beat them up with stock options.'' Characteristic: over-commitment.
  2. Repeatable - project management tracks cost, schedule, and functionality. Success can be repeated on similar projects. Characteristics: discipline, realism.
  3. Defined - management and engineering processes are standardized, documented, intregrated into an organization wide process, that is tailored to meet a given project's specific needs and characteristics. Implication: success can be repeated on all projects. Characteristics: standardization, consistency.
  4. Managed - process and product quality are measured. Characteristics: quantified, predictable.
  5. Optimizing - measurements are fed back into process to improve it. Characteristic: continuously improving.

Levels comprise items that form components of the software process. Higher levels mean higher capability.

3. Maturity and Quality