Risk Based Testing
The features and functions of a project will be tested based of priority, importance and potential failures which occur during Test Execution. It tests the functionality which has the highest impact and probability of failure.
Why are we going for Risk Based Testing ?
The parameter probability of failure is based on following aspects:
- Amended(Revised/Modified/Overwritten) functionality
- New functionality
- Quality of design
- Size of the project
- Intricacy(Complexity/Difficulty)
- Skill of programmer
Steps :
Major processes to execute the Risk-based testing are described below:
- Process 1 – Risk Identification - Describe all requirements in terms of Risk involved in the project(Clear understanding of software requirements specification, design documents and other documents) – Involve all the stake holders who are part of the Project. Get identified Risks involved with the project.
- Process 2 – Risk Analysis & Risk Mitigations - During risk assessment, prioritize the requirements(the project initial level, identify the risks of the project that expose the quality of the project, this knowledge guides to testing planning, specification, preparation and execution) – Both PDG, PM, TM & relevant Stake holders are part of this.
- Process 3 – Test Plan - Plan and define tests according to requirement prioritization(Risk-based testing includes both mitigation (testing to give chances to decrease the likelihood of faults, especially high-impact faults) and contingency (testing to know work-around to create the defects that do get past us less painful) / After getting the Requirement with the priority tagged, we can start the test activities with keeping the priority of the requirements in mind.
- Process 4 – Test Execution & Test Result - Execute test according to prioritization and acceptance criteria(Risk-based testing also uses risk analysis to recognize proactive chances to take out or avoid defects through non-testing activities and to help us select which test activities to perform). During the time of Test Execution, if any of the Risks newly identified, which will impact on the project, then use the Pareto Principle & finalise the scope of Testing in the reduced timeline that will ensure least risk & highest quality.
Test Techniques Used during this Approach :
- Path Flow testing
- Some amount of exploratory / Experience based testing
- Boundary Value Analysis
- Equivalence partitioning
- Decision tables.
- Different types of testing - Core system testing, business specific areas, Integration testing etc. will be part of Testing. Also need to concentrate on regression testing, adhoc testing, with special focus on data integrity testing.
What all testing need to be done for complete coverage?
- Cross browser testing
- Compatibility testing
- Verification and validation
- Positive and negative scenarios
- CR
- BR validation
- Interface testing
- End to end testing.