August 12th, 2015
Solid business growth and momentum in H1 2015 for Computaris
July 30th, 2015 by Computaris Articles Blog Insights
We have been and still are, for almost 22 years now, in the business of providing specialized software telecommunication services. During this time, we delivered most of our projects within schedule, even when some of them were complex and very challenging.
For some of those projects, the big challenge was to accommodate the client’s need to reduce development time, but maintain scope. Under these conditions, our response was tailored as a smart approach that allowed us to develop software in an efficient and effective manner.
We implemented it throughout the development phase and made sure testing was also brought on board.
The Computaris QA team response plan to this challenge was a combination of powerful automation framework, the Computaris-customized JMeter testing framework (for telecommunication environment needs), and effective and efficient ways of doing manual testing.
We embraced risk-based testing as a guide for our testing activities.
Risk-based testing, or RBT, is a type of software testing that functions as an organizational principle and is used to prioritize software feature and function testing, based on:
As a general idea, the main goal of testing is to uncover defects which may lead to undesirable consequences or potential issues in the long run. The potential for such undesirable event is usually referred to as quality risk, product risk, or quality product risk. Uncertainty implies that the risky event may or may not happen with a percent of probability. Loss, in turn, implies that if a risk becomes a reality, undesired consequences, or more exactly a loss, will occur.
RBT is a test approach or test strategy that takes these risks into account. By identifying and analyzing the risks related to the system, it is possible to make your test effort more efficient and effective:
A reduction in cost per quality and faster time to market are more easily achievable with this approach.
This concept, however, is not new for the software development world and is often used in the waterfall software development model.
Our success in using this approach relies on the way we capitalize on our enhanced telecommunication business knowledge and the quality assurance experience of our engineers. Both these factors enable us to create a substantially better risk analysis.
We approach risk analysis process in almost a classical way:
Diagram 1: Risk analysis activity model – This model is taken from Karolak’s book “Software Engineering Risk Management”
The risk analysis objective is to identify potential issues that could affect the project’s cost or outcome. To perform this, we first conduct a risk identification through which we collect information about the project and then classify it to determine the amount of potential risk.
Regarding risk strategy and risk assessment, we use this information to evaluate risks (cost and probability), and then develop a mitigation plan for of all risks involved.
|Risk Priority||Testing extent||Comments|
|5||None||Only report bugs observed for this risk item if discovered during other tests.|
|4||Opportunistic||Leverage other tests to explore the risk item with minimal effort and only if opportunity presents itself.|
|3||Cursory||Run a small number of tests that sample the most interesting conditions for the risk item.|
|2||Broad||Run a medium number of tests that exercise many different interesting conditions for the risk item.|
|1||Extensive||Run a large number of tests that exercise many combinations and variations of interesting conditions.|
Risk Mitigation plan sample table
We use testing plans to direct risk management during the software testing activities, so an appropriate testing level is selected based on this risk assessment’s output.
Risk mitigation/avoidance activities avoid risks or minimize their impact by using inspection and/or focus testing on the critical functions to minimize the impact of a failure in a function/feature.
On risk reporting we monitor, based on information obtained from the previous topics, the number of errors found, number of errors per function, classification of errors, number of hours testing per error etc. Risk prediction involves forecasting risks by using the history and knowledge of previously identified risks.
In conclusion, risk-based testing helped us achieve better product quality and fulfilled our need to create an efficient and effective way of doing testing work.
In terms of advantages, using risk-based testing: