Testing is a process which includes set of activities rather than single activity. Test process starts form Planning and control followed by designing and analysis then implementation and preparing for execution, deciding when to stop testing and reporting and finally deciding test closure activities.
So Fundamental test process is divided into following basic steps:
1. Planning and control
2. Analysis and design.
3. Implementation and execution.
4. Evaluating exit criteria and Reporting.
5. Test closure activities.
1. Planning and control
Before starting any testing activity, much more effort should be spent on making a good test plan because test plan goes long way in ensuring that test activities are stick to what testing is trying to achieve.
Test plan includes following major tasks:
1. Determine scope of testing and associated risks and identifying objectives of testing.
2. Determining test approach
Test approach involves test techniques, test items, coverage area and testware
3. Implement Test Policy/Strategy
Test strategy is an outline that briefs about the testing area of software. It is created to inform associated team members like PMs, developers, testers about important issues of test process.
4. Determine the resources required.
Resources involves people, test environment and hardware required. Generally number of resources (people i.e. developers and testers) are decided on release date of software.
5. Schedule test activities like test analysis and design tasks, test implementation, executing and evaluating test results.
6. Determining Exit Criteria.
Determining exit criteria deals with when to stop testing. Generally in exit criteria coverage criteria is also set. Coverage criteria means how much percentage of statements in the software should be executed during testing. This is useful in tracking “Are testing activities completed correctly?”
Test Control activities
1. To measure and analyze results of execution of test cases.
2. Compare Progress vs Plan.
3. Take corrective measures,
4. Take control when required.
5. To make decisions.
2. Analysis and design
Analysis and design deals with the fine details of what to test (test conditions), how to combine test conditions into test cases, so that executing small number of test cases can cover as many of the test conditions as possible. The analysis and design stage is the connecting link between planning and test execution.
Test Analysis and Test Design has following major tasks:
1. Analysis and understand the requirements.
2. Design the test conditions. (Using test design techniques)
3. Design the test scenario.
4. Detailing the test environment set-up and identifying the required infrastructure and tools.
3. Implementation and Execution
Test implementation and execution has following tasks:
1. Creating test cases and prioritizing them.
2. Create test data
3. Collecting test cases into test suits, where test cases can run one after the other for efficiency.
4. Setting up the test environment.
5. Execute the test and log defects.
6. Retesting/Regression testing.
4. Evaluating Exit Criteria and Reporting
Exit criteria was set during the initial stage of fundamental test process i.e. during planning and control. In plan if it was stated that 85 percent statement coverage is to be done, then it is reviewed in this stage is it achieved if yes then does it requires more statements to be executed or if tested percent is less, say 75 percent then there are two possibilities 1.Change exit criteria or 2.More testing is done, it totally depends on test manager.
Evaluating exit criteria and Reporting has following major tasks:
1. Check if exit criteria specified during planning is met and see if more tests are needed.
2. Prepare test summary report for stakeholders.
5. Test Closure Activity.
Test closure activity is done at the end of testing and it has following major tasks.
1. Ensuring all defects are closed.
2. Giving handover of the testware to maintenance team.
3. Taking down the lessons learned from this testing project for the future reference.