Software testing, what is that? Why should I even bother with it? Isn’t it cheaper and faster to get my killer app, addictive game or revamped website out there right away? If I do decide to test, how much testing do I need?
While it is tempting to go live with an exciting new concept quickly, and testing may seem like a tedious and time consuming process, there is demonstrated wisdom in it. Testing is not only important, it is critically important. For that reason we are writing a 3-part series about the why, what and how of testing that can make a genuine difference in the success of your product, site, app and business.
What Is Testing?
Testing means taking the necessary steps to ensure that a product or system meets its original requirements and is free from “bugs” or defects.
Testing is a key element in achieving customer satisfaction. It confirms that your product will function properly under specific, customer-defined conditions; ensures that your product meets all the customer’s stated requirements; and detects product or project issues early in the development process –– enabling you to correct defects before they turn into costly post-launch errors.
In sum, testing ensures that software does what it is supposed to do, does what it needs to do, and does what your customer expects it to do.
Benefits of Testing
First adopted in the late 1940s and early 1950s, testing has become an accepted practice. Why should you do it? Because it provides substantial benefits to your business. Primarily:
- Cost: Early testing saves money by uncovering defects or issues in software, products or systems at the outset. Fixing these problems early is cheaper, faster and easier than doing it later in the development process.
- Quality: Testing ensures product excellence, which in turn protects your business reputation and brand.
- Strategic Advantage: Adopting the right testing approach –– or balance –– for your product and market helps you deliver quality offerings consistently and cost-effectively. This strengthens your market position and boosts customer satisfaction and market share.
From Cupcakes to Killer Apps, Testing Counts
If you are in the highly competitive cupcake business, your cupcakes need to taste and look great every time. You cannot make a lot of money per cupcake, so taste and appearance matter to an extraordinary degree to keep customers coming back, buying lots of cupcakes, and spreading the news about your excellent product.
How do you make sure that the sprinkles are sprinkled properly, there is the right amount of frosting and the taste is consistently yummy? You test. You test to ensure that your cupcakes look, feel and taste the way you and your customers expect they will.
Keep Your Balance –– Testing Is a Process
You can visually examine your cupcakes, but you cannot taste every one of them –– you will have nothing left to sell if you do. You need a test process that includes selective tasting, along with testing the recipe, mixing, baking and decorating steps. Whether it is for cupcakes, phone apps or rocket engines, your testing process should add worthwhile steps until you reach the right balance, that is,when the benefits of testing are about equal to its cost.
Since your profit margin is low on an individual cupcake, your testing must be balanced to test larger, overarching issues such as the training of your kitchen staff or ensuring the oven is really at 350 degrees.
For more expensive and complex systems –– such as an online store –– testing should be more rigorous and at a more detailed lower level of granularity. It should include steps to confirm that everything functions as expected on the operating systems and devices you want the customer to be able to buy on (say the 95% most popular devices) and not on every single device out there. Even here, we are talking about balancing the cost of testing with the benefit because the cost (i.e. lost revenue) of your site being down is high, justifying more elaborate and thorough testing.
So, Should You Test or Not?
It should be obvious by now. Yes, you not only should, you must. The extent of testing you do will vary according to the cost of failure and the complexity of what you are testing. Calculating risk and reaching that right balance, when the benefits of testing are about equal to its cost, are central to answering the question, “How much?”
But, to test or not to test? Yes, test! Reaching for the balance of testing that makes sense for you and your product…
Where Do We Go From Here?
Our next article will examine the basic types of testing –– manual, automated, performance and security –– the appropriate uses for them, and how to implement them.
Do you have questions about testing and Cost of Quality? Post a comment, and we will be glad to correspond with you.
Software Testing Help. (Undated). Types of Software Testing. Retrieved from http://www.softwaretestinghelp.com/types-of-software-testing/
Wright, S. (presenter). (2012). Justifying the Cost of Quality (PowerPoint presentation)
American Society for Quality. (1999). Cost of Quality. Retrieved from http://asq.org/learn-about-quality/cost-of-quality/overview/overview.html
Buthmann, A. (2010). Cost of Quality: Not Only Failure Costs. Retrieved from http://www.isixsigma.com/index.php?option=com_k2&view=item&id=937:cost-of-quality-not-only-failure-costs&Itemid=187
Sullivan, K. & Ravi, J. (2010) Assessing Risk in the Organization: The Next Step in the ERM Process. Retrieved from http://www.amper.com/publications/review/W10-Risk-Assessment.asp
Smith, K. (2010). The Software Industry’s Bug Problem. Retrieved from http://www.qualitydigest.com/april03/articles/03_article.shtml