Tried-and-true pieces of advice to upgrade current approach to quality control

Mike Urbanovich
Agile Insider
Published in
6 min readMar 3, 2024

Driven by the requirements of today’s digital age, modern software applications have become more complex — they need to support multiple third-party integrations, accurately and quickly process big data, cope with a high influx of end users, ensure protection from cyberattacks, and many more. Among present-day applications, turnkey software solutions are gaining specific popularity as they are built to meet the unique demands of an organization, for instance, automating business processes. When multiple customizations are involved, such bespoke products also possess intricate business logic and sophisticated architecture.

That’s why the development process of modern software must be supplemented with custom-made QA activities that rely on innovative technologies and approaches.

In this article, I’ll highlight the advantages of well-thought-out software testing and focus on valuable technologies and methods to keep an eye out for.

Why tailored software testing can save the day

Do you remember a high-profile case of an automotive giant? They had to recall 1 million cars because of a software issue that could affect passengers’ security. Or another unpleasant situation that relates to the healthcare industry when numerous medical devices in the USA were recalled as they contained software bottlenecks that could impede their proper functioning.

What I mean is that software issues can cause serious and unnecessary trouble that can be easily avoided with professional QA and software testing.

When quality control is aligned with unique business objectives and performed continuously throughout the project, it can help organizations deliver failsafe IT products and derive several other important advantages:

  • Optimized operational expenditure. Prevention is better than cure. Whatever the ultimate business goal is, it’s very important to start testing as soon as possible. The earlier in the development process the problems are identified, the cheaper it is for the company to fix them. Thus, it’s possible to save finances and allocate them for solving higher priority issues.
  • Happier end users. We all know how hard it is to change the first impression, whether it’s about people, things, or anything else. Properly tested software that operates like clockwork despite any circumstances can ensure that your target audience will appreciate it and recommend it to others.
  • Accelerated time to market. Detecting issues promptly means less time is needed for their resolution and subsequent validation, as bottlenecks at this stage do not impact the functionality of interconnected features. Consequently, this efficiency allows teams to adhere to set deadlines and follow the project plan with greater confidence.
  • Smooth IT product development. Whether software engineers need to change already written code or add new functionalities, QA activities simplify the process. They allow developers to be confident that modifications haven’t negatively affected other software components, thus preventing unnecessary rework at the late SDLC stages.
  • Better non-functional software behavior. With a set of security and performance testing services, teams can ensure that developed solutions are resistant to cyberattacks and can cope with high loads provoked by an influx of users.
  • Better accessibility. More than 40 million people with various impairments live in the USA alone and require access to diverse software products in their daily and work activities. With accessibility testing in place, it’s possible to help ensure software inclusiveness and significantly ease life for such people.

5 advanced aspects of the improved software testing strategy

To ensure that modern, highly complicated applications operate in line with requirements and are ready to be delivered to end users, I suggest considering the possibility of upgrading your QA approach with state-of-the-art technologies and practices. They help to increase the efficiency and accuracy of testing, thus detecting problems earlier.

  • Tip 1. Artificial intelligence (AI) to streamline QA processes

According to the World Quality Report 2023–24 (WQR), the respondents apply AI to achieve better productivity (65%), increase speed (53%), and boost CX (41%). In addition, 77% of respondents stated that they regularly invest in AI-driven solutions to improve quality processes.

I do agree with them. I find AI to be highly beneficial for particular aspects. For instance, it supplements test automation and allows QA engineers to perform more tests as AI takes care of analyzing software data and offering suitable test cases. It also examines data and accurately highlights the location of problematic areas in the code, which provides a more streamlined way of fixing them. In addition, AI can aggregate data on projects, processes, software quality and visualize it via smart dashboards to improve transparency for everyone. Finally, it can automatically predict test failure reasons, thus helping QA engineers work faster.

Utilization of AI simplifies and speeds up testing activities, increases their accuracy, and contributes to better overall IT product quality.

  • Tip 2. Cloud to boost efficiency and curtail costs

Cloud is another booming technology applied today in QA and software testing. The WQR states that 29% of respondents consider cloud skills to be important for modern QA engineers, while 82% of organizations surveyed assume cloud testing to be a vital part for developing cloud solutions.

Source: World Quality Report 2023–24

And it’s not surprising. A wide variety of tests can be executed in the cloud — from disaster recovery to performance verifications. Cloud environments allow companies to seamlessly scale up or down their testing capabilities without extra efforts spent on deploying additional servers, thus performing tasks faster. It also allows minimizing costs as there’s no need to acquire and maintain expensive hardware. In addition, an opportunity to work in an environment that is very close to the production betters the chances of spotting as many defects as possible.

  • Tip 3. Shift-left testing to identify problems earlier

Modern software applications, especially those built on microservice-based architecture, are very complex and have intricate interconnections. The sooner the issues in their operation are identified, the quicker, easier, and cheaper it is for the development team to fix them. It happens so because at the initial stages the code has less dependencies. Traditional software development models, such as Waterfall, postpone testing till the end of SDLC, which increases the risk of missed deadlines and post-release problems as bugs may need to be fixed before release.

Therefore, companies can choose shift-left testing that focuses on moving QA activities to the beginning of the project, ideally, the requirements phase. Early and regular software testing support enhances test coverage, helps detect more defects before the release, reduces the chances of reworking an application in case of major problems, and increases team confidence during releases, which positively influences overall well-being and satisfaction.

  • Tip 4. Give preference to DevSecOps

According to the experts at Verified Market Research, the global volume of the DevSecOps market will reach $16.2 billion in 6 years compared to only $5.15 in 2023. Why is this approach becoming so popular?

Despite some challenges associated with its introduction, such as knowledge gaps, resistance to change, or issues with integrating specific toolkits, I still suppose the return is worth the investment.

By infusing reliable security practices from the get-go, project teams can prioritize software security and robustness from the early development stages, identify critical security loopholes sooner, and increase development velocity. They also can minimize business risks, save costs associated with security breaches or downtime, and ensure that end users can be confident that their personal data is protected.

  • Tip 5. Continuous testing to minimize business risks

Continuous testing presupposes a repetitive, uninterrupted process of ensuring quality, often supplemented by best test automation practices. As tests are ongoingly run throughout the entire development life cycle, project teams can quickly obtain feedback on software quality, find more software errors before the go-live stage, significantly boost test coverage, and meet all deadlines as the chance of late-night, stressful fixes decreases.

In a nutshell

Present-day software solutions, including custom applications, serve perfectly well to meet unique business goals but are very complex. To ensure they operate in line with specifications, project teams can improve their approach to QA and software testing. In particular, they can rely on advanced technologies and practices, such as AI, cloud, DevSecOps, shift-left, and continuous testing. And of course, it’s important to stay positive and keep going no matter what!

--

--

Mike Urbanovich
Agile Insider

At a1qa.com, Mike is a Head of test automation and performance testing department staffed with about 200 QA engineers.