If you test software – what is the most effective approach?
Whether your organization utilizes waterfall, lean, agile, spiral, iterative, or a hybrid product development lifecycle – what is the most effective software testing approach?
The best description I ever heard was coined by Cem Kaner, the author of the bestselling software testing book of all time, Testing Computer Software: ‘Creative Destruction’
First, before I dive into Cem’s amazing approach let’s review test priorities.
As a software tester, your #1 Job is to Find and Identify all the defects in the software.
- It is NOT to prove the software application works
- It is not to get test protocols to Pass
- It is to ‘break’ the software (early and often)
Creative destruction is the best path forward, if you are to be successful in your career.
What is creative destruction?
By creative destruction, it means what it says – become as creative as possible, craft ‘what if’ scenarios, brain storm with everyone on the team to derive new ways to break the application and entire system.
Think of it as Insurance against a bad release.
When you creatively destroy software applications, you are advocating for the best possible user experience for your customers, by ensuring YOU find all those nasty defects, before they do.
Here’s the best part – you aren’t alone.
You’ve heard the term ‘none of us is as smart as All of us’ and it certainly applies here; software testing is a team effort. Everyone from marketing, to tech support, tech writers, software engineers and the rest, are all on the same mission – deliver a fantastic experience to your customers.
By capturing and implementing the ideas generated by everyone on the team, you’ll be amazed at the test scenarios you’ll be able to create and the hidden defects they will expose…all for your customers’ benefit.
Think of them as your secret weapon. 😉
Why do I need creative destruction?
Human beings & mindset.
Since humans create software applications and entire systems – it’s the side effects (of human-built products) that cause the most unexpected problems.
Most anticipated defects are discovered during routine (requirements based) testing – but not the unexpected variety, which contribute to the majority of product recalls…regardless of Industry. Ad hoc testing doesn’t go far enough, because of the mindset shift that’s required…in order to prevent hidden defects from escaping to production.
The two most common contributors to critical software failures:
- Unexpected User Interaction
- Someone uses your product in unintended ways that crash the software
- Abnormal System Behavior
- Connected backend system anomalies generate failures in your product
Here are several well-known software failures that could’ve been mitigated prior to product/system release – utilizing creative destruction.
- FDA, Abbott warn 4.2M glucose devices may be affected by fire risks
- T-Mobile data breach affects 50 million customers
- Inquiry into 2019 Ethiopian Air crash confirms software failure
The proper mindset is the creative destruction approach – to derive creative ways to break the software, whether looking for vulnerabilities via code reviews or crafting ‘what if’ scenarios with actual users (not just fellow engineers) and to continue digging until you’ve discovered the root cause of every potential failure…before the product ships!
There are two mindsets at work; the software engineer who is creatively developing the software and the software tester who is creatively destroying the software – as a team (working together) they can design/build/test the best products in the Industry.
The goal is to think like an end user, whether it’s a bad actor or simply someone in a hurry, (people rarely break a product by carefully using it as intended), it’s the unexpected user interaction that reveals the majority of critical software flaws in any product.
Here is a link to a case study, where I used this approach successfully on a mission critical medical device/hospital system project for CareFusion/BD; it shipped in 2015 and is working flawlessly to this day.
Want to know the best part?
When you utilize creative destruction, your project will complete earlier due to a distinct lack of rework or late-discovered bugs!
With the creative destruction approach, your team can deliver a safe & reliable product, and provide your customers with the happy experience your marketing team promised. 😎
Have an upcoming project that you want expertly tested? Scroll down and send us a note – our test experts are happy to discuss!