Our reference methodology for software testing is the agile edition of STEP methodology. We have applied this methodology in multiple software testing projects. STEP is a general-purpose and IEEE-based method for software testing. The methodology consists of specified tasks, work products, and roles as shown in the following figure.
STEP provides a model that can be used as a starting point in establishing a detailed test plan. All components of the model are intended to be tailored and revised, or extended to fit each particular test situation. The three major phases in STEP that are employed at every level include: planning the strategy (selecting strategy and specifying levels and approach), acquiring the testware (specifying detailed test objectives, designing and implementing test sets), and measuring the behavior (executing the tests and evaluating the software and the process). The phases are further broken down into eight major activities, as shown in the following table.
|Plan the Strategy
|Establish the master test plan
|Develop the detailed test plans.
|Acquire the Testware
|Inventory the test objectives (requirements-based, design-based, and implementation-based).
|Design the tests (architecture and environment, requirements-based, design-based, and implementation-based).
|Implement the plans and designs.
|Measure the Behavior
|Execute the tests.
|Check the adequacy of the test set.
|Evaluate the software and testing process.
Roles and responsibilities for various testing activities are defined by STEP. The four major roles of manager, analyst, technician, and tester are listed in the following table.
|Description of Responsibilities
|Communicate, plan, and coordinate.
|Plan, inventory, design, and evaluate.
|Implement, execute, and check.
|Examine and evaluate.