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.

Step 1 Plan the Strategy
1.1Establish the master test plan
1.2Develop the detailed test plans.

Step 2 Acquire the Testware
2.1 Inventory the test objectives (requirements-based, design-based, and implementation-based).
2.2Design the tests (architecture and environment, requirements-based, design-based, and implementation-based).
2.3Implement the plans and designs.

Step 3 Measure the Behavior
3.1 Execute the tests.
3.2Check the adequacy of the test set.
3.3Evaluate 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.

RoleDescription of Responsibilities
ManagerCommunicate, plan, and coordinate.
Analyst Plan, inventory, design, and evaluate.
Technician Implement, execute, and check.
TesterExamine and evaluate.