The software testing process is to conduct as follow the order:
– Requirement Analysis -> Test planning -> Test case development -> Test environment setup -> Test execution -> Test cycle closure. Each cycle also has a entry and an exit criteria, activities and deliverables associated with it
- During this phase, QA team will study the requirements from test point of view to indetify testable requirement. Besides that, QA member will contact with stakeholder (client, Business analyst, developer lead, architect lead) to understand the requirement in detail.
- The requirement could be either functional (which defined what software must to do) or non-functional (system performance or security availability)
- Automation feasibility for given testing project is also done in this phase.
Identify types of tests to be performed.
Gather details about testing priorities and focus.
Identify test environment details where testing is supposed to be carried out.
Automation feasibility analysis (if required).
- Test plan is also called as Test Strategy. Typically, in this phase, QA manager will determine efforts and cost estimate for the project and would prepare and finalize test plan.
- In this phase, QA manager will defined test plan/strategy document for various types of testing
- Test tools selection
- Test effort estimation
- Resource planning and determining roles and responbisilities
- Training requirements.
Test Cases Developments
In this phase, test case, test script and test data will be created, reviewed and re-work as well.
- Design test case, test script for automation
- Review and baseline test cases and test scripts
- Prepare test data if test environment is available
Test Environment Setup
This phase can be done in parallel with test cases development. Test environment setup is critical aspects of testing process and maybe this stage is conducted by developer team.
- Environment setup and test data are prepared in this stage
- Understand about architect requirements and prepare hardware and software requirement list for the test environment
- Smoke test the build is needed (in outsource company, test lead will do a smoke test, but at product company, developer team will conduct it before transform to QA/QC team)
This phase will be executed by QA/QC team after receiving the smoked build from the developer team. At stage, QC engineer will execute steps by steps for each function. The testing process will carry out based on the test plan. The bugs will be reported on bugs system tracking like JIRA, BUGGILA, Mantis,… Developer team will be notified about bugs and start figuring out and fixing.
- Execute test cases
- Document results and logs defects for the failed cases
- Map defects to the test cases in RTM
- Retest the fixed defects
- Track the defects to closure
- Complete RTM with execution result
- Test cases updated with result
- Defect report
This phase is when ends of the testing process. The QA team will meet, discuss and finalize everything in the testing strategies to find something good for the best practices in the similar future projects and something need taking the lesson from the current testing cycle.
- Evaluate cycles completion criteria on time, test coverage, cost, software, critical business objectives and quality
- Prepare test metrics based on the above parameters
- Document the learning out of the project
- Prepare test closure report
- Qualitative and quantitative report of quality of the work product to customer
- Test result analysis to find out defects distribution by type and severity.
- Test closure report
- Test Metrics