By Hung Nguyen, LogiGear
With the Super Bowl over and March Madness right around the corner, I can’t help but think about the parallels between these popular sporting events and software testing strategies in a business. In both instances, players and testers must undertake a high degree of planning and aim for flawless execution in order to achieve success.
Yet today that’s not always what happens in a software business. For example, it’s common for senior management to judge the success of software testing through the lens of cost or time saved. This has led businesses to increasingly seek out both test automation and outsourcing options. However, the decision to automate or offshore without careful consideration of long-term goals can lead to poor results, higher downstream costs, lost customers, and more.
Project leaders instead need to keep their focus on the big picture when defining their software testing requirements (just like players prepare for the whole game, not just a quarter). While cost and time is one factor, other criteria — such as testing coverage and software quality — should be given equal consideration.
If your business has slipped into a short-term mindset, it’s not too late to course correct. Consider advocating these four keys to successful software testing for the long term and emerge as the MVP you’ve been training to be.
Are You Going Wide And Deep Or Fumbling?
Testing Coverage is the game. Test coverage refers to how much of the software actually gets tested before it is released. While it is not possible to test absolutely everything in a large and complex software application, it is certainly desirable to prioritize testing on the riskiest modules.
A reasonable place to start is to thoroughly test the most critical and most used parts of the software. That is if a bug is missed and the result of that miss is very severe to the end user, or that functionality is the most commonly used. For example, in an ERP application, it’s vital to test financial modules. In a mobile application, testing the UX is paramount, and testing data integrity is essential.
Test automation and/or offshoring may allow a company to test their software much more thoroughly in the same amount of time. In this scenario, testing costs may not actually go down, but much fewer defects will be passed to the customer. This will yield downstream cost savings by avoiding in-market support and maintenance costs.
Is The Team Playing Consistently Great The Whole Game Or Only The First Quarter?
(Automated) Test Reusability is what it takes sustain and grow your testing as the software constantly changes. Tests normally need to be recreated or updated with each software revision or when related software is released. The activities are expensive regardless of automation and offshoring. This is why it is key to keep in mind the return you are getting on your software testing effort. How many of the tests are a reusable asset that help keep ongoing test maintenance costs down?
For example, test assets that are designed in a modular manner can be reused over and over again and to the benefit of the business.
A high degree of test reusability is an important goal for any software testing effort. Not only does it help to keep costs down, but it also allows future testing to be performed more quickly and codifies organizational knowledge about the software under test.
Sorry Coach, The Data In The Play Sheet Is Wrong!
The Value of Data is the reason why we test. Data provides intelligence and facilitates timely decisions. Software testing can and should report clear, concise, and easy-to-understand metrics to engineering and senior management about the software under test. Metrics such as test cases run, testing coverage, bugs found, and bugs fixed provide management with insight into the quality of the software under test and its readiness for market.
Data about the market-readiness of the tested software is extremely important. Such data may help organizations to avoid shipping a product prematurely, resulting in higher downstream support costs.
It Was A Great Game!
At end of the day, Software Quality is the outcome that we’d like achieve. Comprehensive software testing can contribute greatly to the in-market quality of the software. A good, sound, software testing effort that is focused on the right things is the difference between releasing good software with defects and quality software that is defect free. A software defect caught early is as much as 5 times cheaper to fix compared to post-release fixes.
Moreover, when a customer has a positive experience with the software it can result in customer loyalty, increased revenue, decreased support costs and more. Only a comprehensive software testing approach can unlock these rich benefits.
Having success with the above approaches requires having the right tools and services in place. It’s advisable before signing on the dotted line to:
- Ask for references: Find out if the partner has done similar work and ask to speak with past customers about their experience.
- Set goals to a timeline: This offers a great opportunity to review progress and identify problematic areas, so an alternative solution can be made.
- Make a Plan B: Despite having the best intentions at the start, know when to call it quits. A tool not working as advertised? Find another way forward.
While these keys to success may not reduce the up-front cost or time of software testing, they are significant drivers of important benefits downstream. In fact, an organization can avoid additional testing costs and reduce support costs which may help reduce overall costs and improve profitability. Project leaders focused on reducing short-term testing costs will miss out on this major bottom-line advantage.
Are you ready to become MVP by implementing these core software testing principles in your business? If not, tell us what’s holding you back in the comments.
About The Author
Hung Nguyen cofounded LogiGear in 1994 and is responsible for the company's strategic direction and executive business management.