How should enterprises execute cross-browser testing?
As a small business or a startup, we often make decisions that can change the whole structure of our working processes. Honestly, this is not a bane that can bring the businesses down. Such businesses thrive on these decisions as they let them clearly decide what suits them best and why.
What’s better than finding it on their own by trying a mix of things? As for this post, it is a bit different from startups and small businesses. It talks about the future of these companies when they expand their operations to multiple locations and work on a very large scale – spanning over nationally or internationally. If startups are ready to face these changes, are enterprises such as Adidas too?
Throughout this post, we shall see how enterprises behave and what makes them an “enterprise”. We shall also see how decisions are made in an enterprise and why cross-browser testing is the most important thing in 2021 to sustain a healthy business.
What does enterprise mean from a tester’s POV?
In the summer of 2019, British Airways faced a technical issue on its website. They never revealed the problem, but whatever it was, it resulted in delaying of hundreds of British Airways flights, cancellations, and problems for thousands of passengers.
This is the impact of a small website issue on an enterprise and reminds us that even the slightest mistake is unaffordable.
An enterprise, like many small businesses, operates heavily with its official application. The application in general terms refers to an “enterprise application” because of the company associated with it. In addition to being associated with a big name, they are extremely complex and distributed in nature.
Complex, because they work on an extremely large scale with a lot of technologies and frameworks. Sometimes you will find that enterprises have designed their own frameworks to deal with their targetted goals and missions.
Another important aspect of an enterprise with respect to testers is its distributed architecture. Enterprises generally pan internationally to various countries and each user no matter where they are expect the website to load within 3 seconds.
Considering this requirement and the website load, enterprises generally set up multiple servers and machines that can talk to each other through a network.
Apart from these essential elements, there are other components as well that need to be considered in an enterprise application from a tester’s point of view. Throughout this post, we shall see the bits of these components and relate them to the testing scenario.
Needs of an enterprise
An enterprise is like an engine that requires a constant supply of fuel to run. These essential needs keep the enterprise upright in the market and help it keep running for a long time.
While some may argue that an enterprise runs on long-term planning, financial stabilities, core competencies, we shall only focus on the needs in terms of software (web application to be more precise).
Stable online presence
The first thing that strikes the mind of any reader is the stable online presence in the market. Internet presence today is more than necessary (if there is any such thing) in post covid times.
When the world was locked down inside their homes, the only thing that connected people with an enterprise is their website. The following graph depicts the change in percentage in Jan, Feb, and March 2020 with respect to these months a year back.
Notice how March 2020 has shown an extremely positive change in website users with respect to March 2019. The thing is, enterprises adjusted themselves according to the situation and even if they did not have a service through the website, they started it.
These things will sustain now at least for the time being. Therefore, the most important need becomes to grow an online presence.
Accessible to everyone
Another important need of an enterprise is to be reachable to everyone. In pre-technology times, enterprises such as Walmart increased ease-of-access by opening a store not more than 4.2 miles away from you no matter where you are in the United States.
Today, being easily reachable has changed its meaning. Physical presence is now more related to geographical location (demanding geo-location testing) services and the online presence of everyone.
Though “everyone” is a vague word in this regard. Its meaning changes according to the audience an enterprise serves. For example, being readily available has led to a two-fold increase in active users for Microsoft Teams in the past year.
This is a pure example of being easily and readily available to everyone. Such a product is just a couple of clicks away for the target audience. For a cross-browser tester, what this means is the number of active users a software can face at the same time.
In our example of Microsoft teams, testing has made it possible to get the user count from 75 million to 145 million. Consider a scenario, if the application crashes frequently in an important seminar or a college lecture. Using another application is just one email away in such cases.
Alternatives today such as Google Meet do not even require an installation hence there is no trouble in switching from A to B. If the application is not tested for such a scenario, whether it will be readily available to the users is just a guess.
Warren Buffett once said, “It takes 20 years to build a reputation and five minutes to ruin it.” Enterprises work on the same philosophy. Consider the same example of British Airways taken in the above section.
Had you been one of the passengers when the glitch occurred, would you ever want to book a flight next time even if you have to pay extra? I don’t think I would. This happens because the reputation is lost now. As a matter of fact, British Airways has been a prey of such things a couple more times.
As you see one application can bring down the reputation of an enterprise and result in millions of dollars in losses. You don’t need to do a corruption scheme or release a bad product.
You don’t even have to do bad product marketing. Just a small web app glitch is enough. Hence, it can be said that these things could be avoided with cross-browser testing regularly and efficiently.
Change in long-term
When it comes to long-term changes, two companies come to my mind specifically. The first one is Microsoft. Microsoft once had a market share of around 95% with their native browser internet explorer which was discontinued a few years back.
A lack of long-term planning made them stick to their own strategy rather than adopting as per W3C, users, and developers. The results are clearly visible.
The second company is Compaq. Compaq, as you might know, was bought by HP and they decided to discontinue the brand after a few years. Focusing on company acquisition and increasing their user base is said to be a long-term planning issue on which Compaq did not focus. Instead, they tried to outrun other brands quickly in the computer business.
All the changes happening with respect to technology depend on people and organizations constantly involved in developing newer tools and/or approaches.
These can be technology-related, design-related, new device-related, etc. The need for an enterprise is to adapt quickly to sustain its brand value.
The final need as per my understanding is to provide the same experience to the users across various platforms. For example, if I am an enterprise, I can look forward to designing a native application, a web application, other products such as smart speakers or assistants etc.
If we look at the large umbrella, this results in more connectivity with the user. If someone is more comfortable with an app or gaming console, we can adhere to their needs.
For testers, the main focus is the internal architecture used while designing the products. This includes the design principles, server communications or data transfers and storage. While these applications may look different to a user, they are connected at the back-end to provide a unified experience.
For example, I can log in to the website and app with the same credentials without creating a new account. Even my data is synced over to different platforms quickly which means I am working on the same database for each of my applications.
Cross-browser testing ensures that such interconnected features such as “Login” work correctly across the products using GUI over the web. For a rich experience across various platforms, cross-device testing becomes necessary as it points out hidden bugs that might be specific to a certain platform. Hence, a strong architecture quality is expected from the testers.
Cross-browser testing and Enterprises
Up until this point, you must have realized how important online presence has become for an enterprise. On top of it, the Covid-19 pandemic has made a lot of enterprises shift their focus to digital platforms rather than just stores and advertisements.
This raises a need to have a perfect web application that is acceptable to all the customers no matter what type. This is possible through cross-browser testing and this section is dedicated to its elements in detail – especially for enterprises.
Pre-requisites for cross-browser testing
The pre-requisites for cross-browser testing are quite straightforward – frankly speaking, they do remain the same for startups, SMEs and big enterprises.
Maybe I can pitch the same for a team of seven-ten members working on a web app. The only thing that changes is the scale of operations which in this case is very large.
A browser matrix
The browser matrix of an enterprise is the target device list they want their application to be rendered on. For smaller enterprises and people just starting the web application part, this is easier to create. But not so much for big enterprises and hence can be a little challenging.
Enterprises have existed in the market for a long time now. For such a long time, some people are always loyal to the enterprise who find their services/products extremely satisfying for the last n number of years. The problem sometimes arises at this point.
A few parts of the audience feel comfortable with the simplicity of previous technologies including internet explorer. Enterprises, trying hard to maintain their reputation always keep them in mind, and hence these browsers can be seen in their browser matrix for a long time.
Another important part of preparing the browser matrix for cross-browser testing, for enterprises, is the business perspective. For example, it may so happen that the average minimum spends at a location or from a particular browser or manufacturer is higher than others.
This makes them in the premium category. So even if they are fewer in number, they need to be included and tested for cross-browser compatibility.
The next logical part we need as a pre-requisite is a platform. A platform can be online, local, virtual machine, cloud-based setup, hybrid, anything. Since the size and complexity of an enterprise are extremely large, it is recommended to use automated cross-browser testing on an online cloud-based tool only.
The main disadvantage of using a platform is arranging the device and updating ourselves. Even if you have the funds, it will always be a tedious and time-consuming task. Secondly, manual cross-browser testing is a big NO when it comes to enterprises.
Lastly, cloud-based tools are optimum because they have their own infrastructure, resources, and every small tool that helps you speed up. It’s like one more part of your team that is just dedicated to developing the infrastructure and maintaining it constantly.
The final pre-requisite is the testers. Testers may not mean professional testers but anyone who has a deep sound knowledge of the product and knows how to point out bugs in it.
As far as the coding part is concerned, you may need an automation tester if you have selenium-based grids, etc. But if you go for cloud-based automated cross-browser testing tools such as Testsigma, you can skip this part and construct test cases directly from day 1because it is completely codeless.
How should enterprises perform cross-browser testing?
The last section introduced the pre-requisites along with the enterprise effect on them. A browser matrix for an enterprise is influenced by many factors and so are the testing mechanisms.
Being an enterprise, in this section, we shall not consider money as a factor influencing the decisions on how should an enterprise move towards cross-browser testing.
Method for cross-browser testing
There are two methods for cross-browser testing – automated and manual. We shall not go into the details in this post. If you are interested to know in detail about them, you can visit the cross-browser testing guide.
For an enterprise, as I discussed above, manual testing is a big NO. There are two good reasons for this. First, manual cross-browser testing is just time-consuming for an enterprise that works on such a large browser matrix. You would never be able to compete in the market with your competitors.
The second reason is that enterprises just cannot afford mistakes and manual cross-browser testing is one thing that is prone to it. For an enterprise, the best method is to go for an automated cross-browser testing solution. This way things move faster and in parallel to reduce the time for release.
On-premise or Cloud?
The next question is, once we have decided that we will go with the automated cross-browser testing, should we develop our on-premise solution or cloud-based?
Now the thing here is that sometimes both may seem optimal for an enterprise. But the investments are significantly higher in the on-premise solutions.
Developing an on-premise solution is not easy. For a perfect cross-browser testing environment, you should have all the devices at your end and you should keep adding newer ones as they are released. Another money-eating factor is the development and maintenance of these devices.
For an automated environment, you should have all the tools, frameworks, proficient testers, and connectivity all along. If one connection fails, you need to spend extra to repair it or in another sense maintain your whole infrastructure. Even if money is not a factor, going on-premise has time and space challenges that are best avoided.
A cloud-based service is different. It’s like a car rental company that can lend you their services, functional and ready-to-go in seconds. What car do you want, depends on your needs.
If you need a platform for 100 people with 10 parallel tests, you will pay different compared to those with unlimited projects and 25 parallel tests.
Platform – A most important aspect
The most important aspect of performing cross-browser testing is the platform. In the last section, I briefly introduced the importance of a platform but there is a lot more than that.
A platform is just not a medium to perform automated cross-browser testing but something that you should trust and completely rely on. If you are in luck and use the perfect tool for yourself, believe me, you will see the changes in the testing process very quickly.
Instead of elaborating on the features, an enterprise should look for an online cloud-based tool, I will demonstrate all those features taking examples from Testsigma. This is an online tool that can automate cross-browser tests on 2000+ browser combinations.
One of the most effective features of this tool is the ability to write automation tests in the English language. This increases the accessibility of test cases for all the teams related to a project.
Anyone irrespective of sound coding knowledge can understand and even construct new test cases. Multiple teams from different locations can also use this feature to quickly execute test cases.
After the test creation simplicity, the next thing to worry about is the security part. While the security of the web application depends on the developers and security analysts, the cloud platform should also play its part to prevent any unauthenticated sign-ins.
Real mobile devices
A platform with real devices at their end provides a rich analysis of the performance of your web application that is not possible on emulators and simulators.
For example, no emulator can simulate or predict accurately how network issues will play a part in the website loading. As an enterprise, I think real device testing is something that cannot be taken lightly.
If you can get an accurate analysis of actual devices, you can be sure that removing those bugs will smooth out the road after release.
The next feature to look for in a cross-browser tool being an enterprise is the integrations it offers. The simple reason for this is to gather everything in a single place which can save a lot of time.
If you have some issue and log that into another platform, your testers would have to now keep track of two things simultaneously. This number always increases as the enterprise operations are quite large.
What if we could log this bug directly from within the platform? Platforms such as Testsigma provide a long list of integrations to suit your needs and help you reduce time in such operations.
The final feature to look for in a platform is its reporting capabilities and how much will you fetch from reports. Reporting is somewhat similar to what pandas does in Python. An extremely rich reporting means you can analyze your testing with minimum effort.
With quality reports, not only testers, anyone can realize what 26% test case passed means or what the generated graph depicts for each environment.
Are you an enterprise? What do you use?
Enterprises work on complex, highly scaled, and distributed applications. In the past year, the shift towards digital platforms has made a web application one of the most important aspects of an enterprise. Something that connects to millions of users and helps it grow business.
Therefore, like any other business operating a web application, enterprises need cross-browser testing to perfect their product and make it bug-free.
In this post, we focussed on cross-browser testing for enterprises and the options in front of them to move ahead on this path.
If you are an enterprise looking forward to closing down your trust in cross-browser testing, this post will help you in that. While I admit that this post does not cover the analysis and in-depth complexities of “cross-browser testing” other posts will guide you in that topic quite well.
As for this post, the main focus has been the reflection of cross-browser testing on an enterprise’s operations and how those can be resolved. I hope this post will help your enterprise take wise decisions.