In today’s technology-driven world, many enterprises are catching on to the wave of disruption. There are many drivers of this disruption. They could be about the changing technological environment, evolving business dynamics, increasingly intense competition, and suchlike. Disruption is a widespread concern for enterprises, as the technology competition is on the verge of disrupting business models. Polaroid Corporation is a classic example: A pioneer in digital imaging in the 1960s, the company did not make the necessary investments to hold that lead in the 1990s, when digital photography overtook film. On the same lines, printed newspapers, magazines, and letters stand increasingly marginalized in today’s digitized world. Although no one can predict the exact impact and extent of disruption in the next five years, a recent study found that companies facing disruption generally take longer to respond than they expect, despite having an effective response available with them. Consider the decade or more it has taken for Amazon to disrupt traditional retail meaningfully. Given this, enterprises must transform their ways of working and product development as technology is undergoing a major transformation.
Using emerging technologies and artificial intelligence to innovate and develop new products and services is fast becoming the new battleground for enterprises. Concepts such as Data Analytics, Bots, Blockchain, and Artificial Intelligence are enhancing the product offerings of enterprises and transforming the way products are developed. In the context of software product development, the typical dimensions of product development are Define, Design, Develop, Detect (Quality Assurance), Deploy and Debrief (The 6 Ds of product development).
Define is focused on requirements elicitation and analysis; Design and Develop are focused on product development and architecture. Detect focuses on Quality Assurance while Deploy and Debrief focus on deployment and maintenance of the product.
While each phase of product development is unique and has its significance, for this blog, let us focus on the Detect (Quality Assurance or Software Testing) phase of the product life cycle.
It is a popular perception that software testing requirements are often a bottleneck for quicker release cycles. One often needs to make a trade-off between “defined quality” and “accelerated delivery.” Whenever the product release schedule is at risk, software testing is squeezed and is also held responsible for any delay in product deployment. Accelerated delivery (Speed) has become critical to survive disruption and withstand industry competition. However, to attain the goal of a quicker product release, one cannot rely only on speed in delivery models. SPEED is effective only when the product being developed also has in-built QUALITY. Having said so, our approach towards software testing must look to accelerate the speed of product development.
How can quality engineering support speed in software delivery (and product development)?
There could be many approaches to it. One of the many approaches could be to shift from traditional to digital Quality Assurance (digital QA). Instead of building the operating model (delivery model) for scale, digital QA builds the operating model for speed.
Let us take a quick look into the journey of Quality Assurance and why Digital QA has become the need of the hour.
In the era of mainframes (1960s and 1970s), since almost all the quality assurance was manual, testing was done with a classical approach. As we progressed and new technologies were introduced, the way we test also evolved. With the onset of World Wide Web (WWW), Enterprise Resource Planning (ERP) and Customer Relationship Management (CRM), etc. in the 1990s and 2000s, many test automation tools were introduced. These tools (such as Selenium, QTP, and so on) performed automated testing on both web-based and Windows-based applications. In today’s world, enterprises are digital, intelligent, and are connected by a mesh of devices, also known as an Intelligent Digital Mesh (IDM). Quality Assurance is being challenged in today’s world for innovative and faster approaches, and this is where digital QA is proving to be very important The image below shows the journey to digital QA:
Let us take a more in-depth look at what digital QA is:
There are many approaches to transform quality assurance. One of the many approaches is to practice Digital QA—a testing solution that is not just faster and supports high-class quality but also intelligent. For instance, for any test automation solution to be effective, it is vital that it maintains its relevance in terms of application test coverage, can maintain itself (self-healing), and so on. Let us see what Digital QA is:
Digital QA combines SPEED, QUALITY, and INTELLIGENCE into a single process of Accelerated Continuous Quality
*Based on 2014 Vanson Bourne study commissioned by CA
**“Surviving Disruption, Leading Change: Winning in the Application Economy,” 2015
Digital QA will not just focus on advanced test automation but will also include more and more use of AI (Artificial Intelligence) based components in test automation solutions. AI can benefit digital QA in many ways. Some examples are listed below:
- AI can help engineers even to predict defects instead of simply detecting them. Thus, AI can help in minimizing future bugs in an application.
- AI can help build self-healing automation frameworks.
- AI can write scripts and analyze large amounts of data sets faster.
- AI can handle sorting and analysis through log files, saving time, and enhancing correctness in the program tremendously. Automated analysis of log files helps in the faster categorization of exceptions, saving a lot of time and effort.
- AI’s approach offers more reliable outcomes than traditional testing.