QA teams, software testing professionals and technology leaders in 2020 face a challenging business environment.
Whilst some companies struggle to navigate through significant change, competition and uncertainty, others take it as an opportunity to make technological advances and position themselves ahead of the competition.
With this in mind, here are 5 Software Testing trends that will impact the industry in 2020 and the next decade. Consider incorporating each of them into your QA strategy for 2020.
- Don't miss the best software testing and QA conferences in 2020 with our list of every event taking place this year
1. Customer-Centric QA
In a recent WWDC event, Apple described a fluid interface as “an extension of your mind” and “an extension of the natural world”. This frictionless experience has quickly become the industry standard and something users have come to expect.
People, human people are at the centre of product development. We need to start optimising for experience, breaking down barriers, giving people a voice, listening and working together to overcome our biggest problems. Optimising for experience drives results as 2nd order effect— Sponge Bob Test Pants (@RobMeaney) October 30, 2019
An app must now behave according to the way people think, not the way machines think.
It is no coincidence that tech companies are placing greater value on community management, integrating feedback generated through community forums into the product roadmap. By letting these conversations steer the direction of the company, companies are committing to listening to their customers. Openness and transparency are key in a world where consumers are becoming increasingly suspicious of how tech companies treat their data.
Try creating a public roadmap Trello board with an ideas/feedback column. Ask your community to contribute ideas and upvote their favourite submissions. Hold a monthly meeting with the product team to discuss the most popular submissions.
Testing solutions like crowdsourced testing can also provide you with valuable real-world feedback on the end-user experience, helping you better understand how your product functions in the hands of your customers, before a public release.
“Quality in a product or service is not what the supplier puts in. It is what the customer gets out and is willing to pay for.”
- Peter Drucker
2. Exploratory Testing in an Increasingly Automated World
In 2019, more organisations turned to automated testing in an attempt to speed up their release velocity. The goal being to move towards an entirely self-sustaining system which can execute, self-heal, create and explore, leaving dev teams to focus on building out the product. However, current technical limitations prevent this from happening.
expect(umbrellaOpens).toBe(true)— Erin 🐠 (@erinfranmc) July 10, 2019
tests: 1 passed, 1 total
**all tests passed** pic.twitter.com/p6IKO7KDuy
To build an automated solution, testing needs to be broken down into subproblems for your solution to address.
And the more flexible and adaptable your solution is, the more subproblems it needs to be able to handle.
Take driverless cars for example. Creating a solution that can drive in a controlled environment is relatively easy. We can safely predict each subproblem the car will encounter as it travels around the track. However, creating a solution for a universally self-driving car is far more difficult. There is a near-infinite number of subproblems the car may encounter on each journey.
Your software may not face the same number of subproblems as an autonomous car in a crowded city centre, but it will still face a great number of hardware, operating system and cultural challenges. Unless specific test scripts have been written to test them, they will remain undetected. It is for this reason that we still need humans in 2020, as tempting as it may be to try and automate everything.
Choose one location where your software is available to download, or a location you plan on expanding to in the future, and make a list of 10 cultural assumptions that your current automated scripts would miss.
Using a purely automated solution will run tests on narrow use-cases, according to subproblems that have already been solved. Exploratory testing, however, digs deeper. It allows for testers to learn something during the exploration. It urges them to think for themselves, draw conclusions, misunderstand, learn from mistakes, see the full picture and notice details.
“Use automation to do test set up, data generation, repetitive tasks, or to progress along a workflow to the place you want to start. Then you start using exploratory testing to find the really ‘good’ bugs, the insidious ones that otherwise escape attention”
- Jonathan Kohl
3. Preparing Your Software for Emerging Markets
The internet continues to grow rapidly, closing gaps in global coverage and connecting more devices than ever. From smart-phones to smartwatches, cars and even vacuum cleaners, 28.5 billion devices are expected to be online by 2022 - that’s more than three for every person on the planet.
In 2018, the internet also hit an important milestone. For the first time in human history, over half of the world’s population were online. That’s 3.9 billion connected human beings.
Companies like Elon Musk’s SpaceX are now racing to get the second half online with projects like Starlink, which aims to launch 30,000 small satellites into lower orbit, providing all four corners of the globe with a high-speed internet connection.
These projects will provide developing countries with an affordable connection for the first time, reshaping the internet further. People whose online presence is currently under-represented will have the opportunity to create websites and build apps, introducing their unique language and cultural differences to the connected world. Not only will they create, but they will consume, observe, learn and engage too. Our software must be prepared for this revolution.
Choose three top performing competitors and one developing country that they have all launched their app in. Research their successes and failures and integrate this knowledge into your product roadmap.
A global product in 2020 has the potential to impact individuals, communities, and countries alike, presenting an almost limitless opportunity for growth.
4. Leading Quality
For too long, there has been a disconnect between testers and C-level leaders in terms of how testing and quality are viewed.
Engineering and quality leaders do a good job of telling a technical story, such as explaining the testing activities and how they plan to optimize the development process. Unfortunately, most miss the other side of the story, the part that clearly shows how the work they do adds value to their customers and contributes towards business growth. In order to be a great leader, it’s important to understand and convey how these two factors relate to quality.
Over time, the definition of “quality” has become unclear. We all feel like we know what quality is. We know it’s important. But it’s actually not that easy to define in and of itself. To some people, it means reliability and efficiency. For others, it’s fitness for purpose or usability. In fact, every single individual throughout your company may have a different way of defining this term.
When looking at various definitions of quality, there are two things that everyone seems to agree on:
- Quality is subjective; it’s determined by whoever is using the product at the time
- Quality is relative; it changes over time.
The reason it’s so difficult to define is because each person defines it differently and continually changes that definition as each day passes.
Quality is value to some person, at some time, who matters.
- Michael Bolton
In the past we were used to software regularly crashing, and pages taking a long time to load. Today, if something crashes we will switch to a competitor's software and get annoyed when it takes longer than a split second for a page to load.
Our collective expectations of quality and tolerance of issues have shifted over time. The same can be said for our customers. Their expectations never remain the same, their needs are forever growing, and their point of view is ever-changing. They will always want something better than they have today.
That’s the essence of quality. It’s hard to define because nothing about it is constant. But therein lies the opportunity for software development teams in 2020 and the next decade.. By always trying to catch up with the moving goalposts of your customer’s expectations, you will constantly be delivering better and higher-quality software.
Leaders who embrace this idea, that companies live and die by quality as perceived by their customers - and make it their mantra will adapt and grow with them. Those who focus on functionality and internal definitions of quality… won't.
Open up a new document and write down what you perceive to be the existing narrative about quality that exists in your company. Now ask your team to list the top three comments they hear about quality around the business. Ask three people outside of your team to do the same thing. Can you spot any misalignments in the narrative?
5. 5G - Testing for the Next Generation of Network
The decade of 5G has arrived, with 2020 continuing 2019’s very early adoption phase.
By 2023, about 19% of all data traffic will be over 5G and, unlike 4G, the impact of 5G will not be limited to the telecom industry. Every smart device present in our homes, machines in factories, cars, robots, and even medical appliances will be capable of connecting to the network. This will present both enterprises and consumers with infinite opportunities for new use cases, businesses, devices and applications.
Due to this broad range of use cases, along with a number of other factors such as mm wavelength support, extremely high throughput and ultra-low latency, testing 5G networks will be incredibly complex. Companies will need to evolve their traditional testing methodologies and come up with new testing and assurance techniques. Those who don’t will leave themselves open to the competition.
If your developers are working at leading edge, your users probably aren’t. Try throttling your network speed for a day, and see how your app responds. Do you need to make any changes? Popular apps often uncover the need for a ‘lite’ version when conducting this test
One method of adapting your quality strategy to 5G is to integrate continuous testing into your DevOps workflow. Continuous Testing allows companies to integrate feedback earlier into the development process. This allows companies to test & release faster, giving them an edge on the competition that don't adopt these practices. Static testing strategies simply won’t keep up anymore.
“With continuous delivery, all changes go to production safely, quickly, and sustainably”
- Gary Fleming
Software Testing Trends Conclusion
- Customer-Centric QA
- Exploratory Testing in an Increasingly Automated World
- Preparing Your Software for Emerging Markets
- Leading Quality
- 5G - Testing for the Next Generation of Network
Quality assurance teams, software testing professionals and tech leads must constantly evolve if they are to successfully grow their product and company into the next decade. Consumers expect a flawless experience, and as the industry continues to rapidly change, we must ensure the quality of our software transforms with it.