Cloud-based testing involves moving all your testing infrastructure into the cloud. Traditionally, test automation is done on your own servers and infrastructure. If your resources are limited you can run Selenium on a single server, cycling between OSes and browsers as your tests require. If you have more resources, you might install Selenium Grid with one server running as a hub and half a dozen servers as nodes, thus allowing you to run multiple tests in parallel. So what are the benefits of cloud-based testing?
Cloud testing benefits
1Cheaper. Renting cloud infrastructure from an IaaS provider is almost always cheaper than relying on your own servers. Moreover, when you have no tests to run you won’t get charged for servers that are lying idle.
2Scalable. Cloud is nearly infinitely scalable. The only limitations on scaling your tests are likely to come from the underlying test automation software (and from the resource limitations of the VMs you are using).
3Reliable. Virtual servers always offer some level of reliability. That could be cold migration (where you power off, start a new instance and recover using the backup). Or it could be hot migration of running servers. The better providers even offer forms of Disaster Recovery. This is in marked contrast to what happens if your own server fails.
4Realistic. This is one of the more subtle benefits of using cloud testing. Generally, you will be able to run your tests from multiple locations and, importantly, your tests are coming from an external network.
5Effective. With cloud-based testing, you get access to almost infinite reliable storage. This means you are able to store all your historical test results. In turn, this enables you to fully analyze any test failures or issues. It also allows you to observe trends in your testing and is useful when you are dealing with regressions.
What is needed to create a test cloud?
Setting up your own testing cloud is perfectly feasible. But moving your test infrastructure to the cloud does require a certain amount of effort. So, you may find that without the support of a competent dev-ops engineer, it can be quite a painful experience.
1Provider. Needless to say, there are thousands of providers to choose from. Not only the usual suspects (Google Cloud, AWS and Azure), but also vast numbers of smaller providers often offering very competitive prices and good customer service.
2VM specification. Decide how powerful the VMs need to be. Most providers allow you to specify the number of (virtual) processors, the amount of RAM and the storage per-VM.
3Storage. Do you need additional storage that can be accessed by all VMs? And do you also need it to be accessible externally?
4Scale. How many VMs will you (usually) need? Remember, many providers will allow you to scale up on demand if you need additional VMs.
5Networking. How would you like to network them? Will you need your own virtual switch? Do you need to pay for external IP addresses for each VM?
6Data I/O. How much data will you need to transfer in and out? Think about the data needed for testing your app, as well as the data needed to access test results.
7Location. Where physically would you like your VMs? Many operators allow you to pay a premium to gain some control over things like rack-locality of your VMs.
8 Software. You need to decide exactly what software you need and set things up properly. This is nearly as hard as doing it for your own infrastructure. However, many cloud providers will provide images with much of the software already installed.
The Functionize Test Cloud
The better alternative to all that is to use the Functionize Test Cloud. This is based on Google Cloud and so it gives you access to test locations around the world. We ensure that all images are completely up-to-date and you are able to test with pretty much every possible browser/OS/device combination you need.
There are several compelling reasons to use the Functionize Test Cloud. Space doesn’t let us list them all, so let’s look at a few of the important ones.
Convenience. First and foremost has to be the convenience. Our system is designed to be intuitive and quick to learn, and you won’t have to waste time setting up any infrastructure before starting your testing.
Simplicity. Our Adaptive Language Processing engine (ALP) takes test cases written in plain English and uses Natural Language Processing to convert them to tests you can run on our Test Cloud. And running tests is equally easy with integrations with all the best-known CI engines.
Reliability. Our service is highly available and dependable because we partner with Google, The last thing you need is for your test infrastructure to suddenly get flaky just before a release!
Scale. We offer load testing at impressive scales. You write a single test case and it can run across every browser/OS combination in parallel. Moreover, we allow you to test with up to 100,000 simultaneous connections from multiple locations globally. This means you will be sure your servers can handle the load. Even better, our load tests are based on realistic user sessions using the tests you have defined.
Sign Up Today
Functionize is designed with all levels of testers in mind. We simplify test creation while providing rich features to tune tests for your most complex scenarios. Running in our test cloud gives you elastic scale to handle continuous testing in your CI/CD pipeline or large regression suites. Meanwhile the deep machine learning engine is modeling your applications and dynamically updating your tests as your UI changes; saving you the aggravation of constant maintenance.