Why tough times need quality software [Q&A]
When it comes to software development, quality testing is among the first items on the chopping block during budget cuts. It is often viewed as a cost center, and nothing more than a box to tick on the road to getting software out the door.
Chief quality architect Mush Honda of quality management platform Katalon, sees it differently. We spoke to him to find out why he thinks quality testing is an essential catalyst for company growth by helping companies retain customers, who can easily switch to competitors at the first sign of online hiccups.
BN: Why is software quality an essential catalyst for company growth?
MH: Software quality in today's digital era is all about an elevated user experience. With access to global alternatives only a few clicks away, any perceived lack in the user’s experience with software means lost revenue and opportunities for company growth. By focusing on a positive user experience, which typically means viewing software quality in dimensions such as lightning-fast response, high data security, proper functionality, and user-friendly software, companies can increase customer retention and repeat business.
BN: How does this view of software quality compare to the reality on the ground?
MH: While an increasing number of Agile delivery teams recognize that software quality is a team responsibility and quality engineering is a specialized skill, the reality is that software testing is not easily quantifiable as a business value activity. The process is often viewed as an easy yet inherently inefficient process that serves as a functional validation of system behaviors, rather than a true holistic user experience. When there is a need to reduce budget or delivery timelines, software testing with dedicated quality engineers is usually facing the first round of cuts. Rather than being considered as an integral part of the software delivery lifecycle, it is an optional cost center. With a strong test strategy that impacts the user experience through leveraging efficient and intelligent test automation platforms, software testing can provide a valued strategic advantage for growth.
BN: The release cycle of software is getting increasingly shorter and many companies are cutting staff as tough economic times loom ahead. How can companies keep up while still ensuring high quality levels?
MH: Shorter release cycles are a competitive edge when there is also high confidence in the software’s quality. This competitive edge becomes even more important for organizations during economic downturns. When team efficiency (doing more with less) and impact (high confidence in software) are critical, organizations must have a test platform that is cost effective, scalable and intelligent. These are attributes that can enable teams to perform different types of testing (web, API, mobile, etc.) without additional costs (in infrastructure, training, licenses, etc). By implementing AI into testing, much of the effort, risks and repeated tests can be offloaded. Solutions that offer insights such as release readiness, change impact analysis via intelligent visual testing across browsers, mobile devices, locales, etc. will enable teams to implement efficient and impactful testing strategies that are core for any successful software release.
BN: There's a lot of hype around the capacity of AI to boost software testing speeds. Where are we at in terms of what AI can realistically achieve?
MH: Models that AI uses in software testing will only be as good as the data it is trained on. To ensure testing teams get the maximum benefit from AI, it will be important to think of AI-based solutions as efficiency enhancers, not a replacement for teams. Machine based intelligence has an advantage of speed when compared to manual tasks, so it is critical to consider AI as a tool that is leveraged (and monitored) by quality engineers and built with accurate training data. As the role of quality engineers continues to evolve, the monitoring and training of AI tools to supplement testing activities will be important. As of now, AI-based testing solutions can evaluate system usage, identify visual changes, adopt alternate actions based on issues encountered, provide test coverage impacts based on observed code changes and defects, and recommend or execute actions to minimize perceived quality risks.
BN: What are some of the top challenges around using AI in testing?
MH: A top challenge is having engineers trust the output and recommendations suggested by the AI. Quality engineers are trained to verify results which means that it takes time for AI to become an integrated part of the testing process. AI in testing is still in its infancy but there has been much hype around its capacity to solve software testing problems, reduce manual labor, increase confidence in quality, and reduce costs. A reset is needed to manage expectations in terms of speed and efficiency as AI requires ongoing training, supervision and monitoring with most efforts focusing on having AI manage mundane, repetitive and time-consuming tasks. Like the implementation of any other software tool, it takes time before AI can make a high impact on teams.
Image credit: dtjs/depositphotos.com