What is Abundance Testing?
Almost every product in the world has a software in it and is enabled by it. Abundant Testing is a revolutionary software testing manifesto which takes existing basic premise of software testing and expands it to architecture and design of the product under test by considering characteristics which include stability, sustainability, safe usage, reusability, and delight.
Abundant testing is very different. It focuses on current and future role of the software in the product instead of performing just verification and validation. It redefines software testing.
Abundant testing can be defined as an architecture and design support process to provide insight to improve the product by helping in uncovering architectural limitations and design problems by going beyond conventional testing of uncovering component-subsystem-system faults to show that product and its components work as required, continue to work in real environment with stability, sustainability, reuse, and delight.
Abundance Testing expands scope of testing by not only covering short term objectives of making the software product operational for the first time after release and installation, but also addresses long term implications of the software by considering objectives like software is being used where it is of value so that it can give the most benefit without compromising future needs. It shall also ensure safe use, ease of decommission, and reuse to make the software component to continue to stay in techno sphere. The approach focuses on abundance by using lesser resources in nature and also, how to gain a deep understanding of causation and incorporate that knowledge into practical architecture and design of testing.
Manifesto of Abundance Testing
Abundant testing manifesto is to increase life span of software by providing insights and information on software related risks, limitations, and problems associated with architecture and design of software so as to support development of stable, sustainable, reusable, delightful, safe software which stays in techno sphere.
Core Principals behind Abundance Testing
Core principles of software testing are as follows:
How to Do Abundance Tesing?
Abundance Testing requires- understanding current software architecture and design; visualizing software architecture and design of future releases; developing product image in our mind; deciding and defining what we test and what we miss. Effectiveness or limitation of testing depends on quality of thinking, ability to visualize, ability to imagine, and creativity in test designing.
In order to perform Abundance Testing,
we need to perform 3 steps:
• Step 1. Create mental picture of current and future architecture and design of software
• Step 2. Creatively experiencing through your imagination
• Step 3. Formation of new mechanism of reaction patterns by acting out and as acting as a tester
Abundance testing supports sustainability and reuse by expanding software testing as an architecture and design support manifesto. When incorporated fully it ensures evolutionary products that use less energy and also, reducing possibility of decommissioning software enabled systems by supporting clean and sustainable design which supports stability, sustainability, safe usage, reusability, and delight.