How do low-code platforms, APIs, microservices, containers, CI, CD, and so on work as dominoes that redefine QA and testing? Indium Software SVP, QA Solutions Srikanth Manoharan tells us what happens in a road test when the car gets new wheels.
DQ: How has QA redefined software delivery and enabled digital transformation in Indian enterprises?
Srikanth Manoharan: Quality Assurance (QA) has redefined itself as Quality Engineering (QE) due to growing demands in the digital industry, where developers cannot wait for feedback until QA teams complete testing. They need continuous feedback. Due to the nature of transformational advancements in the digital era where more and more applications are developed as loosely-coupled components such as APIs, microservices, and containers, it has necessitated that testing is done alongside development. The traditional white-box-based testing is livelier now and is embraced by many QA companies.
DQ: How much has changed here with Continuous Integration (CI), Continuous Delivery (CD), micro-services, cloud-based testing, crowd-sourced testing, QAOps, and Black box testing?
Srikanth Manoharan: Due to CD/CI, microservices architecture, etc., there is a tectonic shift in the QA paradigm. QA is now seen as an integral part of development. The feedback cycle is becoming realistic due to QAOps. Cloud has completely taken away the infrastructure-related issues, which is a very common issue in the QA space. For example, in the good old days, the developer would say “It works in my system, not sure why it doesn’t work in your system”.
DQ: Are citizen-coders, AI, and automation good news for testers? Where exactly can AI add value to QA?
Srikanth Manoharan: Citizen-coders, low-code/no-code (LCNC) platforms, and LCNC with AI are taking a big leap into minimising the development effort multifold. If we were to take an example from the world of cars, we can compare this trend with traditional human-driven cars vs. AI-driven cars like Tesla. Though it sounds like a sci-fi movie, it is happening around us. These LCNC platforms are gaining criticism amongst developers reasoning. If something goes wrong, it requires a professional developer to dig deep into the abstracts. The same goes with QA, though these platforms are pre-built, it still requires a fair amount of testing (QA).
AI also offers predictability in any field; it can do the same in the QA space. Through instrumentation of the code, we can build failure patterns from the logs and proactively predict and alert the failure occurrence in any finite systems. This facilitates QA to lead from the front with an ability to become proactive than reactive.
DQ: Is it pragmatic to balance speed, test coverage, delivery, and user interface (UI) enhancement in QA today? What can enterprises embrace to get closer to this tough balance?
Srikanth Manoharan: Each of these buckets is an indispensable entry in the digital transformation agenda and inclusive in nature. As an analogy, consider a race car. Every aspect of the car is important –a powerful engine that delivers speed, an aerodynamic design that can withstand the speed, an efficient driver who can deliver victory, and so on.
So let us talk about speed first. Simply put, speed is an outcome of efficiency; in order to do QA efficiently, we need to break down the application into testable units like API, database queries, and stubs for external entities, etc. In other words, a white-box-based test approach allows you to distribute the testing into multiple hands thereby making the over-testing faster and manageable.
Now let us move to test coverage. The genesis of test coverage in IT goes back by two decades or even more. Traditionally we always strive to maximise test coverage. Nowadays the adage given to testers is to stay optimized in test coverage. Testers should be able to balance between maximum and optimum. Another term that is recently being used in the QA space is code coverage. There are tools like ‘sealights’ that help QA to score and prove how much of the source code the QA tests cover.
DQ: And what about UI?
Srikanth Manoharan: Nowadays automation tools and frameworks have become extremely powerful. QA teams should leverage automation for testing UI/UX as they are treated as low-hanging fruits. Many LCNC vendors have their own automation tool that is integrated with IDE. It is easier to generate UI/UX tests as the UI is developed.
DQ: What’s your outlook on how QA is evolving today and where it can head next?
Srikanth Manoharan: In terms of QA, organisations should stay abreast with the dynamic nature of the digital transformation journey by adopting a transformation in the quality space. They should do this by following the flow from QA to QE and Intelligent Quality (IQ).
QA is nothing but our traditional testing methods which still are relevant in some cases. QE covers testing the code as a white box, early in the development stage using automation along with DevOps. And IQ is a measurement-driven assessment using code instrumentation, AI-based prediction on failures to become proactive rather than reactive.
By Pratima Harigunani