What does the future of software testing hold?

The software industry has changed so much within the past ten years. And while it is hard to predict exactly what the next decade will bring, it will certainly introduce a whole new set of challenges for testing and QA specialists.  

While they are often still the unsung heroes, the work that QA specialists do is increasingly acknowledged for its contributions to DevOps. At the same time, testing will continue to become endemic across other parts of the software lifecycle process, with fast-evolving tools bringing tests within the reach of many more team members.  

So what do we know, or at least suspect, will impact the future of software testing?

AI and ML

First up is artificial intelligence and machine learning, which have long been predicted as a route to making software testing better, faster, and cheaper. 

However, it will take time to mature. Simultaneously, the type of skills required will shift. Jobs involving software testing will require more data and analytics experience, so education in data science and deep learning will need to become part of the software tester’s role. Plus, with more tests being automated, human interaction will have real value in approving and acting upon test findings.  

Progressive web applications (PWAs) have been one of the biggest advances in web technology in recent years, offering the convenience of a mobile app and a desktop website in one, giving users a seamless experience.

While PWAs are set to challenge mobile native apps, they will both need to co-exist in the digital space. Teams need to prepare solid development and testing strategies to cover both types of apps.

There are still technical gaps and advantages mobile operating systems have over PWAs. PWAs need to catch up on features such as sensors support, security, UI, and other considerations to keep mobile apps relevant and a high priority. 

Mobile gets an upgrade

Flip phones (which were so popular back in the 1990s!) are making a big come back, with several vendors having launched flip-style phones, including a rethink of the iconic RAZR from Motorola. While this is great news for consumers and a market opportunity for phone vendors, testing software and apps for foldable phones is going to put huge additional pressure on software testing.

The volume of test cases will increase exponentially, introducing the risk of longer feedback cycles and slower releases. There is no time to be lost in making sure software test labs are ready for what is expected to be one of the biggest trends of 2020 and beyond. 

Staying with the mobile theme, 5G cellular networks will soon be standard, delivering greater speed, coverage, and smarter connectivity. Again, application developers will be faced with even more testing challenges. Teams will have to focus on how well applications connect and operate with other devices and operating systems. Compatibility will be important — not only from device to device, but also considering IoT interoperability. Apart from ensuring a more robust test lab environment, additional help with covering 5G test scenarios is provided by network virtualization solutions, logs, HAR files, and similar approaches.

Another seemingly unstoppable trend is voice recognition, with voice-driven technology built into many phones and other consumer devices. When testing software and mobile apps, voice recognition brings some difficulties.

Testing voice commands requires highly sophisticated systems and approaches, and those will increase as the adoption of voice command features rises. This is why open source frameworks for test automation will mature to support the testing of voice commands. 

An even bigger megatrend is IoT, which is set to ascend to a new level, particularly with the “smart connectivity” that 5G will bring. When IoT becomes truly mainstream in all most parts of our daily lives, a highly sophisticated cloud-based lab is going to be essential for testing IoT applications. Even now, it is already complex to test the variety of OS and devices available today, and that will only increase in line with greater volumes and types of smart devices.  

New or improved methodologies

CIOs are already exploring the use of low and no-code development tools to speed up software development. In turn, the low-code/no-code movement introduces additional nuances when testing software, with more test cases and wider coverage to match this larger landscape. More software is being created, with a lower barrier to entry, and faster time to market. So, rapid feedback, supported by smart test automation platforms, is going to be vital. 

DevOps needs no introduction. But what is important to bear in mind is that it is still in its comparatively early days, and that will have implications far beyond “shift left” testing. DevOps will become more of a continuous deployment machine supported by cloud services, test automation, and tools that deliver timely, on-going data that assesses performance. 

The success of continuous deployment within DevOps is not, however, down to technology. People are going to be the biggest factor here. Teams will need to work together to blend skillsets across departments. Again, greater use of test automation and low-code testing tools will help ensure that more people within an organization can contribute.

It will be interesting to review these predictions in a year’s time, let alone ten. The one certainty in the software testing industry — and within that, testing — is change. Plus, while it is impossible to predict exactly what the future holds for testing, there are some stand-out requirements, with scalability, automation, analytics, and smarter techniques at the top of the list. The beginning of 2020 is the perfect time to start planning testing strategies not just for the next 12 months, but for years to come.

By Eran Kinsbruner, Chief Evangelist at Perfecto (a Perforce company)