Thanks to the late Stephen Hawking for that wonderful quote (the title for this post).
For software quality with automation, I take his quote to prompt the big-picture questions:
How does this work?
What do we hope to achieve?
How can we best achieve it?
My recent book on the topic here https://www.amazon.com/dp/0986270423 describes three paradigm shifts, three ways I ask people to think about the problem differently:
- All the data of driving the SUT with automation has business value. Don’t throw it away; instead, record it in a way that does not lose context, and does make it available for quality automation and human viewing.
- Use your quality automation to deliver value to all roles that care about SUT quality, not just to amplify what QA traditionally does.
- In this information age, your app is part of and will live in an information ecosystem. Don’t wait to include that ecosystem in your verifications that nothing got broken in the last change set from the devs; waiting invites quality risk.
I’m considering a fourth paradigm shift: don’t just automate driving the SUT, automate the process of automating the SUT for quality measurements and handling communications to the business. That new perspective opens up possibilities for making quality management significantly more productive and less annoying.
The first happens with the Smart Retry pattern, and the second happens with Automated Triage. Both are shown here http://www.metaautomation.net/the-pattern-language in relation to the other patterns of MetaAutomation (as it currently exists…).
This fourth paradigm shift depends on #1 above; you need the automation to pay attention to what happens with the SUT.
#4 also is related to, but distinct from, #2 above. #2 is about intentionally delivering value to all roles of the business. #4 is about applying automation to manage and deliver the quality process.
What do you think? Please comment to get a discussion going.