Hypothesis Based Testing (HBT)
February 23, 2012
Hypothesis Based Testing* is a unique, scientific and personal methodology that helps the testers deliver clean software since it is defect centric and adapts a quality growth model.
How is HBT* Different from Traditional Testing?
As opposed to traditional test methodologies that focus on defining and implementing activities and tools that can help discover potential defects in the software, Hypothesis Based Testing focuses on identifying and defining the most probable defects first.
Once the potential defects are identified, testing activities to ensure that these defects are uncovered and fixed are carried out. In case of traditional test methodologies, the ultimate discovery of defects still depends upon the experience of the tester. But with HBT*, that is not the case.
So, while traditional testing -
- focuses on testing activities,
- is driven by processes,
- is powered by testing tools/utilities and
- depends a lot on the tester’s experience to achieve the ultimate goal of finding defects;
When it comes to HBT*,
- the focus is on the goal of finding defects first and
- then, on the activities that need to be carried out to achieve that goal.
How does HBT* work?
Take any software, the below are the guidelines as to how HBT actually is implemented.
- First identify the defects that may occur in the software. Define the cleanliness criteria for the software.
- Then define the places, loops or functionalities where the defects can be found.
- Also, write the other conditions that may cause the defect to occur.
- Based on the above, create test plan, test strategy and test cases.
- Choose a tool that can assist you with the defect detection. If possible, opt for sensible test automation tool.
- Perform the test cases and record the results.
- Based on the results, certify the cleanliness of the software.
- Repeat the HBT and code fixing until the software is defect-free.
Advantages of HBT*
- The probability of discovery of defects is high as testing activities are formulated keeping the defects in mind.
- Goal-focused evaluation of the software is adapted.
- Higher and wider test coverage is possible.
- Effort can be prioritized with respect to product features by concentrating on the most critical areas of the product first.
- It is possible to define an objective quality growth model.
- The overall test assessment and product analysis is accelerated.
- The overall validation strategy is effective.
- The amount of defect leakage is reduced since most of the defects are found at the first/initial stage itself.
- Minimal/No defects are found in production/post-production cycle.
- The overall productivity is boosted since HBT helps in selecting an appropriate tool.
- HBT can be customized as per individual project requirements.
In short, HBT* consists of the below six stages –
Stage I - Understand the expectations with respect to the software/product by grasping its features, attributes, business criticality etc. Align the expectations and objectives with business goals.
Stage II - Understand the context of testing in terms of project requirements and the cleanliness criteria.
Stage III - Formulate an appropriate hypothesis and potential defects catalog.
Stage IV - Devise proof with test strategy, test design and requirements traceability matrix. Also define measurements and a clear-cut plan of action.
Stage V- Identify and Select appropriate tools. Perform tooling benefit analysis.
Stage VI - Assess the software product and perform analysis based on testing results. Carry out test management and defect management activities.
Thus, HBT* is defect centric testing which can help the test team prioritize the requirements and utilize the available resources in the most appropriate and beneficial manner.
Download the Enterprise Version of TestingWhiz now!