Plenty of software testing books tell you how to test well; this one tells you how to do it while decreasing your testing budget. A series of essays written by some of the leading minds in software testing, How to Reduce the Cost of Software Testing provides tips, tactics, and techniques to help readers accelerate the testing process, improve the performance of the test teams, and lower costs.
The distinguished team of contributorsâthat includes corporate test leaders, best paper authors, and keynote speakers from leading software testing conferencesâsupply concrete suggestions on how to find cost savings without sacrificing outcome. Detailing strategies that testers can immediately put to use to reduce costs, the book explains how to make testing nimble, how to remove bottlenecks in the testing process, and how to locate and track defects efficiently and effectively.
Written in language accessible to non-technical executives, as well as those doing the testing, the book considers the latest advances in test automation, ideology, and technology. Rather than present the perspective of one or two experts in software testing, it supplies the wide-ranging perspectives of a team of experts to help ensure your team can deliver a completed test cycle in less time, with more confidence, and reduced costs.
Frequently asked questions
Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, weâve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere â even offline. Perfect for commutes or when youâre on the go. Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access How to Reduce the Cost of Software Testing by Matthew Heusser, Govind Kulkarni, Matthew Heusser,Govind Kulkarni in PDF and/or ePUB format, as well as other popular books in Business & Project Management. We have over one million books available in our catalogue for you to explore.
This book starts with the question âHow do we decrease the cost of testing?â In this chapter, Iâll push back a little on that question, asking if it is, in fact, the right oneâand putting it in its place. After all, one rational answer to the question on how to reduce the cost of testing is the following:
The easiest way to make testing cheap is to do a quick, slapdash job. Easier than that, donât test at all. Your testing costs would go down, but overall costs would go up. And customers? Those would just go away.
âAnonymous
1.1 CONTROLLING COSTS: WHAT DOES IT MEAN?
Say, for a moment, that you are a test director and successfully implementing the ideas in this book. That means you can do the same work with half the test or quality assurance (QA) staff. Assuming the work coming in from development stays constant, what happens, what is the result, the outcome? Thatâs right. âSuccessâ at lowering test costs might just mean having the dubious honor of laying off half your staff.
This sort of thing has happened before. Eli Goldratt saw it happen in the twentieth century in manufacturing. According to Goldratt, one early consequence of his âtheory of constraintsâ was massive increases in throughput for American factories. This actually turned out to be a problem, because the companies now had more supply than demand, so they began shutting down factories due to overcapacity. Goldratt documents these sorts of system effects in the second edition of his book The Goal: A Process of Ongoing Improvement.
Laying off half the staff might lead to a bonus or promotion, but it doesnât sit well with me; it doesnât serve the community we work in. No, I want to look at something beyond pure cost. In general business we look at cost and sales (or the âtop lineâ numbers); it may be acceptable to double our costs if sales quadruple. We have nothing like that top line in testing. There is no easy metric for it.
Instead of value, we focus on cost. And again, we know where that endsâsuccess means the unemployment line.
I do agree that brining down testing costs in general is a thing, but is is only part of the equation. In this chapter I will lay some ground rules for evaluating cost, while also including value within the discussion. Without looking at value, weâre back to cutting testing completely.
So first, letâs look at what limiting, containing, or decreasing cost means, exactly.
1.2 LOOKING DEEPER INTO LIMITING COSTS
Before we discuss value, letâs take a moment and look at limiting costs. After all, itâs straightforward. Itâs easy. Itâs simple. What can be wrong with that? Consider for a moment a typical cost-cutting strategy. We could, for example, cut benefits, bonuses, and salaries for the workers. Over time, this tends to decrease morale, increase turnover, and decrease productivity. When salaries go down, the best and brightest leave for greener pasturesâleaving the company with, to paraphrase Ronald Padavan, âthe dumbest and the stupidest.â I hope youâll agree thatâs not a useful long-term strategy [1].
The next level of cutting costs is a tad more refined. Instead of cutting benefits or laying off the highly paid staff, we can instead try to break the work down into extremely simple, well-defined component tasks. Then we can hire people for specific, repeatable, well-described jobs [2]. For example, we can separate our front office from the back office, then hire a low-paid âcall centerâ or âhelp deskâ person to manage the queue of incoming work. That allows our more experienced, more well-paid technicians to stay focused on one problem at a time without interruption.
But thereâs a problem. Psychologist and systems thinker John Seddon labels the problem âfailure demand.â As Seddon explains it, there are two types of demand in the system: regular demand, where a customer wants something; and failure demand, where a customer comes back a second, third, fourth, and fifth time to ask again for a solution because the initial âsolutionâ did not meet the initial demand.
If youâve ever seen a call tracking ticket bounced around a dozen, two dozen, or three dozen times without resolving the issue, youâve seen failure demand. And you know that failure demand can be more expensive than the original request in the first place. Seddon goes on to document that this separation of front office from back office and movement of jobs, often to low-cost-of-living, low-wage areas, creates enough failure demand to remove any cost savings. Seddon uses one phrase to describe all this. In his words, âWhen you try to control costs, costs go upâ [3]. We need a better way.
1.3 WAYS TO LOOK AT VALUE
We want to report something to management to get that âexceeds expectationsâ on the annual review, and we want it to be a number, right? Value in testing defies simple numeric measurement. This is not a new problem. The great W. Edwards Deming, guru of total quality management, used a quote from Lloyd Nelson to explain this: âThe most important figures that one needs for management are unknown or unknowable, but successful management must nevertheless take account of themâ [4].
The classic example Deming gives is training. If you simply look at numbers on a spreadsheet, training has an immediate cost without clear value. Of course, you could make up numbers in a complex spreadsheet about turnover, or productivity, but those would just be an estimate, a guess, wishful thinking. Likewise, if you only look at a spreadsheet, it makes sense to only hire part-time employees (to save the cost of insurance and other benefits), or to cut benefits and retirement, or to fire the entire staff and rehire cheaper people. Yet we know from the previous section that those strategies fail. So we have a paradox: We have to manage to value, yet value defies numerical measurement.
Managers have been struggling with measuring value for centuries. Even measurements as deceptively simple as cold hard cash in the bank can be manipulated. One sales technique that creates sales right now, without creating real long-term value is known as âchannel stuffing.â When a manufacturer takes a channel stuffing approach, they convince customers (usually a retail store) to buy many more products than they actually need for a given time period, then allow the other company to return the extra equipment by a certain day. This allows sales executives to âmakeâ monthly or quarterly sales targets without having to do the work of, you know, actually selling more things. This also causes the manufacturer to pay out large bonuses without ârealâ sales attached. Gil Amelio, former CEO of Apple Computer, claims that channel stuffing was one of the practices that led to the near-destruction of Apple in the 1990s [5].
Another example currently playing out in the courts is Lehman Brothers. According to the U.S. Securities and Exchange Commission, Lehman Brothers manipulated its balance sheet by taking on loans right before its quarterly report, thus creating the appearance of more cash on hand. And then there is Enron, WorldCom, or a host of other frauds.
So much for cold hard cash as an absolute metric. But who said we need metrics, anyway? The most common line used as an argument in favor of metrics is from Tom DeMarco, in his book Controlling Software Projects [6]. The actual line from that book was not âwithout measurement you can not manage,â but instead âwithout measurement you can not control.â DeMarco he spent the rest of his career pointing out that control in software projects isnât all that important. Twenty years after that original article, he published an article in IEEE Spectrum that formally refuted the importance of controlling software projects [7]. In his words:
My early metrics book, âControlling Software Projects: Management, Measurement, and Estimation,â played a role in the way many budding software engineers quantified work and planned their projects. In my reflective mood, Iâm wondering, was its advice correct at the time, is it still relevant, and do I still believe that metrics are a must for any software development effort? My answers are no, no, and no.
Think about it: You manage to keep your hair looking good without taking a ruler to it every day, right? This can be done by looking at it, understand what is happening, and paying attention. We call this qualitative evaluation. You may not agree with me and I can understand that. I hope you will at least suspend your disbelief long enough to finish this chapter. Let me talk about other tools for your toolbox, to see if they might be helpful. So letâs forget about this metrics madness for a bit and instead talk about what actually happens while doing testing, in order to understand. Once we understand testing a bit better, perhaps then we can generalize some rules for management.
1.4 THE REALITY OF TESTS AND TEST CASES
When I talk to managers and executives I get this vague general impression that there is some correct set of test cases. It seems to be kind of like the holy grail or the North American Big Foot, except that many leaders think they have captured it.
The thinking goes that if the team had this set of correct test cases, we could separate test design from test execution, and pay the test designer more wages as the one â just executingâ the tests. Of course that whole idea would send Seddon into convulsions; but, I am sad to say, it doesnât even work.
First, for any given piece of software, there may be an infinite number of possible test cases. If you give the requirement to two test engineers and ask them to create test cases, youâd likely get two entirely different sets of documents. Each would address the risks that the author perceives. Likewise, test cases tend to try to predict errors. Consider the simple web application that converts degrees Fahrenheit to Celsius and back, illustrated in Figure 1.1 [8]. A classic approach to this problem would break the functionality into equivalence classes and boundaries. It might look something like this:
Celsius Value
Expected Fahrenheit Value
0
32
37
100
100
212
One
ERROR
(blank)
(blank)
We could make quite a list, and it might be a good one.
Framed this way, the tests have a flaw. They assume the software will be used by something like a computer, with a specific input and output. This frames the problem like a function in computer programming. But applications are not consumed by software, they are used by humans. And the human has many more ways to interact with the software than simplistic inputâoutput.
Enter a number in a field below to convert it to either Fahrenheit or Celsius:
FIGURE 1.1 Matthew Heusserâs host of Martin Carlssonâs F to C convers...
Table of contents
Cover
Half Title
Title Page
Copyright Page
Table of Contents
Foreword
Preface
Acknowledgments
Authors
Part 1 What Will This Cost Us?
Part 2 What Should We Do?
Part 3 How Should We Do It?
Afterword
Appendix A: Immediate Strategies to Reduce Test Cost