Software testing fundamental test process involves five activities. They are,
- Test Planning & Control
- Test Analysis & Design
- Test Implementation & Execution
- Evaluating Exit Criteria & Reporting
- Test Closure Activities
- Test Planning & Control
“A goal without a plan is just a wish“
Starting the test process without a plan is not a good idea to achieve the goal. So, the first and foremost process in software testing is test planning and control.
Good testing is based on the good test plan that we have prepared. Test planning and control involves the following activities,
- Define test strategy and approach.
- Define the scope of testing
- Identify the objectives and risk associated with the testing
- Plan resources, test environments and workstations etc.
- State all assumptions and conditions
- Identify the test tasks
- Identify test tools
- Plan testing budget
- Plan tests for specific testing like (System testing, Performance testing etc.)
- Schedule time for test analysis, design, implementation, and closure process.
2. Test Analysis & Design
“Analysis gain better understanding“
Once the test planning is completed, before implementing the plan, test analysis and design activity should take place for better implementation.
Analysis broke the complex topic into simpler in order to gain better logic. Test analysis and design involves the following activities,
- Review the test basis (basically documents like requirements, architecture, high-level design, product analysis)
- Identify test conditions
- Design test cases based on the technique selected during planning
- Design test environment set-up
- Write test scripts and test data
- Analyze the test tools that are identified during planning
- Design test automation script
- Evaluate the testability of the software based on requirements
3. Test Implementation & Execution
“Ideas are Easy. Implementation is hard“
Once the design process is completed, test implementation and execution activity should take place for better test coverage.
Better Implementation of the test plan drives us to success. Test implementation and execution involves the following activities,
- Implement the designed test conditions
- Create test suites (Test suites – Group test cases together that have the same set of behaviors)
- Execute the developed test cases and scenarios using the test data
- Execute necessary automation test scripts
- Execute the tests in different test environments
- Re-execute the tests that are failed in the first place to confirm the bug fix.
- Log the test outcomes
- Verify the actual and expected results of the test cases
- Report the discrepancies in the results as incidents.
4. Evaluating Exit criteria & Reporting
“Evaluation- Learning tool to Improve“
Once the execution process is completed, after assessing the risk of the project exit criteria level will be set to measure the enough testing.
Exit criteria is evaluated to conclude the testing. It varies from project to project. Exit criteria is evaluated based on the following
- Executed more test cases with certain pass percentage
- Bug rate is low
- Deadlines achieved
- No critical issues
Evaluating exit criteria and reporting involves the following activities,
- Verify the test logs against the exit criteria
- Determine more test cases are required or to change the exit criteria plan
- Document the test results for the executed test cases (done in parallel with test execution)
- Verify the logged incidents and validate whether the executed test is wrong or the fault is in the system
- Prepare test summary report of the test execution
5. Test closure activities
“Closure – Way to start new beginning“
Test closure activities are done when the software is completely delivered to the customer.
Test closure may also happen due to following reasons,
- When project gets canceled
- Deadlines achieved
- Testing is completely planned irrelevant
Test closure activities involve the following activities,
- Validate the deliverable are matching with the requirement
- Finalize the test cases, scripts, and data for future reuse
- Validate all logged incidents are resolved and closed
- Lessons learned documentation preparation
- Handover the test summary to the support and maintenance
Hope you guys understand the fundamental test process:)
Here are some hand-picked articles that you should read next ?
In my next post, will learn about the terminology Verification & Validation.