In an era of digital transformation, software is no longer just a tool; it is at the heart of every business. Why is it at the heart of a business? Because we are constantly interacting with our users and customers through a booming number of software applications: web, mobile, and native.
Applitools recently sponsored an independent survey with 400 engineering and quality assurance leaders from a variety of Fortune 500 companies. Among other things, they were asked how many different applications they used in their organization and how many pages each application included. Let’s look at the findings of the survey.
How Many Applications Do Organizations Use?
According to the survey, many large companies have anywhere from 10 to 100 different applications. These applications have tens of pages that need to be displayed on multiple devices, browsers, screen sizes, resolutions, and even in multiple languages. The top 33% of these companies have an average of 77 applications, with a total of almost 700,000 screen variations viewed daily by their customers.
Number of Screens in Production
More interestingly, the number of screen variations is increasing by 30 to 50% year over year. So it’s only a matter of time before the number of screen variations per company goes well above 1 million. That is 1 million different screen-variations per day, presented to millions of customers around the world. Remember, all of these screen variations need to be flawless to keep customers delighted, not just satisfied.
Customer Satisfaction Vs. Customer Delight
Today, customer satisfaction is not enough. Businesses need to be able to stir up the interest, the attention, and even the love of our customers and prospects. Customers are surrounded by hundreds of applications. Every company wants them to work with their application and not with its competitors’. And companies don’t just want users to choose and work with their app on their own. They want customers to recommend their app to all their friends and colleagues as well.
Ensuring that the user experience is flawless on every device and environment they choose to work on is the key to turning customers’ experience into customer delight. In order to understand how to address the challenges of software delivery and build the perfect app that creates customer delight, we need to understand the technologies behind successful digital transformation so we can implement them effectively. But first, let’s understand how we got here.
The Big Bang of Software
Over the last 30 years, we’ve experienced what we can call the “Big Bang of Software.”
In the real big bang that created the universe, a small singularity inflated to the entire cosmos as it exists today. The evolution of the “software universe” over the last three decades isn’t so different.
- There was a shift from on-prem to the cloud.
- There was an evolution from proprietary software to open-source software and frameworks.
- We evolved from needing to write our own code for every function we wanted to implement to using software-as-a-service.
- We expanded from a few computer languages to a breadth of languages.
From the process aspect
- We shifted from a waterfall-style software development process that took many months to agile, which shortened the process to a few weeks. It has now continued to Continuous Integration, Continuous Delivery, and Continuous Deployment, to shrink the process down to a few hours from end to end.
- Teams are now deploying new releases three to five times a day while still ensuring that every time they deploy, this huge matrix of combinations is being tested and verified before the new release is pushed out to production.
From the organizational aspect
- People used to work in separate and secluded groups: the R&D Group, the IT group, the QA group, and so on.
- There was a “Shift Left” and adoption of the DevOps methodology.
- More activities merged into R&D and engineering teams so that any issue that arises can be handled earlier in the cycle and fixed faster by the developers that originally created it.
From the algorithmic aspect
- There was a shift from heuristic algorithms or mathematical algorithms. We shifted to more and more AI algorithms, replacing the logic developed by software engineers with algorithms that are self-evolving and self-improving based on the data and the actual events collected in the field.
From the technology aspect
- New technologies are emerging faster than ever before – from every few years to every few months, and a lot of them happen in parallel.
In essence, the “Old World” of software delivery was slow, discrete, and sequential. The “New World” of software delivery, on the other hand, is fast, continuous, and parallel. A full delivery cycle only takes hours, sometimes even minutes. You can code, create a build, test it, deploy it to production, monitor it, fix small bugs, and repeat the process quicker than ever.
This is the environment we need to cope with today to provide the desired future of testing. Now we need testing tools and testing infrastructure that would cater to software delivery as it is today. However, in order for it to work, all the sub-processes need to be automated and integrated, so none of them turns into a bottleneck. This is the real challenge we face, and automation and integration are the keys to overcoming the bottlenecks we often encounter.
When reflecting upon the big bang of software, it is evident that test automation was the biggest bottleneck for rapid software delivery. It was ranked as the number one bottleneck by 63% of the participants in our survey. This is why the future of testing is essential. Today, test automation is the biggest bottleneck to rapid software delivery, which affects the entire CI/CD cycle. Any improvement to test automation will improve the entire delivery lifecycle.
Now that we recognize the big bang of software, the next step is the big bang of testing.
The Big Bang of Testing
Test automation needs to take the front seat for many companies, as ubiquity is a must. Millions of customers worldwide are using different devices, from different brands, with different operating systems, on different browsers, and screen sizes and resolutions.
No matter which cell phone they are using, which computer they work on, or which browser they use to surf the web, it’s essential to the business that their user experience is flawless. Test automation is key to this experience. Test automation takes testing that was purely manual, or automated by test-scripts only, is now being enriched and sometimes replaced by AI testing algorithms.
The top objectives for the future of testing must include:
- Faster release cycles – At the speed of CI-CD
- Full automation – AI playing a significant role
- Comprehensive coverage
- 99.9999% accuracy – No misses, no false positives
- Full integration with the developer and DevOps toolchains
- Scalability at a reasonable cost
Today, technology like visual AI can help automate software testing by automatically detecting bugs that can only be detected manually. Visual AI automates almost any part of the testing cycle that could not be automated before, making it a frontrunner to success during the big bang of testing.
As we look at the big bang of testing, we need to identify the big shining galaxies that are being formed, representing the future testing platforms that are here to stay and dominate the new universe.
- What Business and Technology Leaders Should Know about the Quality of their Web and Mobile Apps in this Challenging Time
- Upskill and Create New Tests Much Faster – The Impact of Visual AI
- Exit The Test Maintenance Road to Nowhere Through Visual AI
- 2020 Most Popular Front End Automation Testing Tools
This post was previously published on September 25, 2020 on toolbox.com.