View all web browser and mobile devices available in our cloud-based test lab.
Testing in the cloud creates the ability to execute manual and automated testing across mobile and web platforms, as well as in different geographies, in different locations, and with different environment conditions. Cloud solutions are a key enabler for success in any DevOps testing strategy.
This blog will touch on the benefits and best practices of continuous testing in the cloud, why it’s more critical now than ever before, and we’ll look at examples of how different types of teams are testing in the cloud.
COVID-19 threw a wrench into testing. A lot of the platforms, whether they were smartphones or tablets were simply left behind in the offices, which have been closed for most of the year. This has made testing either impossible or very challenging, especially when you want to update these platforms — it's quite difficult to do so from remote.
Unless you are testing in the cloud.
And in today's reality, when you are testing remotely, getting access to all these different permutations is almost impossible. You need someone to maintain these devices for you, to make sure that they are always on, always connected, always charged, always up to date with the latest operating system version, and so on. To try and do that remotely is not safe and is sometimes technically impossible.
On top of that, the mobile market remains incredibly fragmented. The diversity of iOS and Android devices change rapidly and continuously.
Keeping up with new models and new operating systems is challenging, especially for Android. iOS runs on stock OS which Apple releases and controls. But Android has a much more diverse market, including Samsung, Google, Huawei, LG, and others. Android stock operating systems are taken and created into their own unique and custom OSes, which of course complicates testing.
From a browser perspective, teams still experience fragmentation on the web landscape. As part of your responsive or progressive web application testing, pay attention to web application and web browser adoption rates. We’ve seen that it takes a much shorter time for users to get the latest Chrome updated on their desktops compared to Firefox, which lagged behind though it is released on a monthly basis.
One of the main benefits of moving to testing in the cloud is making things move faster because — as a developer or a test engineer — it reduces the pains of building and setting up environments.
Additionally, with so many new releases, making sure that your lab is up to date takes a lot of energy and costs you money. When you use the cloud, you are able to offload a lot of this environmental setup and focus on shifting your testing left and getting faster feedback.
Plus, testing in the cloud allows you to do more in a given time with parallel execution.
In the cloud, you can scale your parallel testing up or down to allow you to control the velocity and how much you can actually include in a given sprint. Cloud solutions facilitate executing in parallel and at scale.
Think about 1,000 test cases running on 10 virtual machines or 1,000 virtual machines — this is going to enable much faster testing over time. Scaling your automation and getting fast feedback through automation is yet another benefit that testing in the cloud provides.
Improved security is another major benefit of testing in the cloud. This is even more important now with most teams working from home. Making sure that you are operating through a VPN channel secure environment reduces headaches and vulnerability of your daily testing, and is another cloud benefit.
Setting up digital environments on your own on premises in today's reality is very hard and it's quite expensive. Cloud solutions give you different conditions as a given settings or configuration on top of your web or mobile platform, making this a similar environment setting.
In the cloud, you can test real user conditions like competing background applications, network conditions, different screen sizes and resolutions, 4G, 5G, Wi-Fi, different languages, different popups, security alerts, push notifications, and more.
Using a cloud solution breaks up silos because it provides a singular look at all activities within a pane of glass view. If you're a developer, a test manager, a QA engineer, or a product manager, you can go to the cloud to review all testing activities, including test automation frameworks that were used for executing test cases across all platforms. In this way, the cloud facilitates cross-team collaboration and allows all of these challenges to become less painful to the users.
Given the vast amount of changes and the pace at which these changes are happening, keeping up with platform upgrades and adding and maintaining new platforms can really hold teams back. By moving to the cloud, you can get immediate access to the latest releases. This gives you the ability to continuously operate and move forward and validate new views and new features.
Teams are more productive when using the cloud. Without having to set up or take down environments, maintain platforms, and ensure that all devices are plugged in and charged, teams have more time for more important activities.
Testing in the cloud is agnostic to your technologies, meaning engineers and testers can pick and choose the technology that makes sense for their objectives.
The cloud will agnostically facilitate operations for them. Teams can sync up everything from Jenkins to Bitrise or Applitools as well as Android Studio or IntelliJ or Eclipse. And of course, test automation frameworks such as Selenium, Appium, XCUITest, Espresso, and more can be fully integrated and executed on devices in the cloud.
Now let’s look at how teams are overcoming these challenges with cloud testing.
Let's first take a look at how some teams are doing manual testing with the cloud today.
When you’re doing manual testing, you want a solution that gives you manual testing capability straight out of the box. With manual testing, you can have control over the device and there's lots of things you can do with these devices in the cloud.
For many testing teams, manual testing will always be there. It's part of life, it's something teams really want to avoid as far as possible, but oftentimes you need to do them. So having a cloud solution that supports that is important.
As these teams start down the path of modernizing testing and transitioning to automation, a cloud is a great place to do that. Testing in a cloud works for teams doing manual testing, while providing them with all the advantages and benefits of cloud testing.
If you’re looking at a testing cloud to get started with, Perfecto's a great option because not only can you still do your manual testing inside of Perfecto, you will automatically gain many of the advantages of the platform.
A cloud can help you get started testing specific use cases, such as:
Testing in the cloud is also conducive for teams that are getting started with test automation. For teams that want to move faster with their testing and integrate it into the CI/CD pipeline, clouds are key.
Teams already using test automation frameworks can connect these to the cloud, including:
The same goes for execution, orchestration, and CI/CD tools in the cloud.
Another benefit of cloud testing is its ability to scale automation. You can run tests on different phones, different browsers, and different versions. But with the cloud you can also run these in parallel. If you want to run hundreds of parallel tests, you can absolutely do that on both mobile phones and browsers at that same time. That’s how you get moving along with your test automation execution at scale.
Perfecto allows you to scale and burst unmatched parallel executions within our industry, which leads into the next example.
Our last example for cloud testing is for enterprise teams. Enterprise can mean large teams of hundreds of users. But it can also mean a smaller team within a larger organization — such as a big bank or financial organization.
Either way, enterprise teams often have really complex needs and they need an enterprise-level tool. But what does that mean exactly? It really means secure.
An enterprise-level tool has to pass many security certifications to prove the data, its storage, and transmission are all secure.
For example, the Perfecto cloud is the only cloud that has data centers distributed globally, so if you want devices in the region, meaning Canada, U.S., Europe, or Asia Pacific, there’s data centers there to meet that need.
That means you can get real devices in those countries. You can get SIM cards in those countries to do the testing that you need to do. More importantly, if you need a secure VPN connection between your private Perfecto enterprise cloud and your internal networks, you can do that as well.
Perfecto is the ideal platform for testing in the cloud for teams of all sizes. It can help you test faster, and with better coverage, for fewer escaped defects.
With Perfecto, you can:
Give it a try today. Start your free two-week trial.
Start My Perfecto Trial
DevOps Chief Evangelist & Sr. Director at Perforce Software, Perfecto
Eran Kinsbruner is a person overflowing with ideas and inspiration, beyond that, he makes them happen. He is a best-selling author, continuous-testing and DevOps thought-leader, patent-holding inventor (test exclusion automated mechanisms for mobile J2ME testing), international speaker, and blogger.
With a background of over 20 years of experience in development and testing, Eran empowers clients to create products that their customers love, igniting real results for their companies.