![]() |
|
An e-newsletter published by |
April 2005, Vol. 2 No. 4 |
| Welcome to Food for Thought™, an e-newsletter from Software Quality Consulting. I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking this Forward Email link. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link. If you don't wish to receive this newsletter, click the SafeUnSubscribe™ link at the bottom of this newsletter, and you won’t be bothered again. |
In This Months’ Topic, we
we discuss the notion of Testing ROI…
|
|
What’s your Testing ROI? Have you ever thought about how expensive software testing is? Even if your testing is outsourced, testing is an expensive, time-consuming activity. Like coding, testing is labor-intensive. Tests have to be planned, developed, debugged, maintained and executed. Defects, once found, need to be tracked and triaged. Decisions need to be made about which defects should be fixed. When fixed, defects need to be verified and regression testing needs to be performed to determine if fixes have introduced new defects. Like most other expensive, time-consuming business processes, it’s important to know what the Testing Return on Investment (ROI) is and how it could be improved. Many software companies have no idea how much testing costs, much less their Testing ROI. You’d think that an activity so critical to the business and so expensive would be constantly measured, monitored, and managed… |
||||||||||||||||||||||||||||||||||||||||||||
|
What is Testing ROI? The most basic definition of ROI is:
To calculate Testing ROI, we need to understand both the investment and the payback. The Investment Testing is performed by developers (unit testing) and QA (functional, system, validation testing are several terms used for testing performed by QA). For this discussion, we’re focusing only on testing performed by QA. The testing investment can be determined by looking at testing costs, such as:
Companies may have additional costs that may be specific to their business. Quantifying these costs is certainly feasible. The Payback The payback from testing is determined by looking at:
Capers Jones [1] surveyed hundreds of software development companies. Of those that produce higher quality software, he found that they have:
Quantifying testing payback is difficult, not because we can’t identify what it is, but because it is difficult to measure. We all know that testing identifies defects and that there’s a strong correlation between defects and quality. When defects are fixed properly, quality improves. As a result, it is difficult to measure the Testing ROI because many of the Paybacks are not conducive to measurement or represent intangibles. For example, if you are among the few software companies who measure customer satisfaction, can you determine what portion of customer satisfaction is attributable to product quality? Can you determine what portion of product quality is attributable to testing (as opposed to using good engineering practices)? This is hard to do… So, while we all agree that testing is a good thing to do, we can’t realistically measure the Testing ROI. But, since we all agree testing is a good thing to do, we can identify ways to make testing more effective. Taking steps to make testing more effective will clearly improve the Testing ROI, even though we may not be able to directly measure it. Here are some examples of what I mean when I say we can improve testing effectiveness:
The Problem Testing requires a significant investment in time and effort. Each year, companies spend hundreds of thousands of hours testing software. Typical test suites often number into the thousands of tests, many of which require hundreds of hours to develop, maintain, and execute. Often, tests are written against requirements that are vague and ambiguous. Regression test suites evolve over time and often include large numbers of what I call “non-productive” tests. These tests often are looking for problems in areas where there aren’t problems. Couple this with the fact that testers are inclined to develop more tests in the areas of the application they are most familiar with, leaving other areas under-tested or not tested at all. We need ways to assess testing effectiveness. And, we need to assess effectiveness BEFORE we start testing so that we increase the Testing ROI. Measuring Testing Effectiveness Very few techniques have been developed to measure testing effectiveness. Here are some examples of what has been done: Chernak [2] defined a measure called test case effectiveness (TCE) as:
Huber [3] at Hewlett-Packard developed a set of metrics to measure test effectiveness. The H-P metrics illustrate the importance of measuring the effectiveness of the testing activity. Factors that Impact Testing Effectiveness In looking at the testing effectiveness measures from Huber and Chernak, I think we need to focus on productive vs. non-productive testing as one way to improve testing effectiveness.
If you accept the premise that we need to focus on developing as many productive tests as possible and that having more productive tests will surely improve testing effectiveness, we can then focus on identifying factors that affect our ability to write productive tests. My list includes:
Given these factors, we can now look at ways to assess Testing Effectiveness. Testing Effectiveness Assessment A Testing Effectiveness Assessment is a process that can improve the Testing ROI and includes the following five steps: |
||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
||||||||||||||||||||||||||||||||||||||||||||
![]() |
The Bottom Line So, while it may not be practical to measure Testing ROI, improving testing effectiveness will certainly improve the Testing ROI whether we can measure it or not. Till next time… |
||||||||||||||||||||||||||||||||||||||||||||
Every month in this space you’ll find additional information related to this month’s topic.
|
Every month, you’ll find news here about local and national events that are of interest to the software community …
|
Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development™ – so that organizations can consistently deliver quality software with promised features in the promised timeframe. To learn more about how we can help your organization, visit our web site or send us an email. |
I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback… Thanks, |