Testing has outgrown the concept of automation first approach. Digital transformation is the name of the game now. To keep up with the pace of digital transformation, organizations need to adopt a cloud first approach in testing as well. Before organizations can adopt this approach, it is imperative that they understand what cloud first approach is. Only then it can it be a game changer for organizations and position them as market leaders.
Myths about Cloud First Approach in Testing
It’s time to shed some light on some of the myths out there regarding the cloud first approach.
1. A lot of times we misunderstand testing in cloud as moving test execution to cloud farm. A cloud farm (cloud based solutions that allow you to run browser and mobile tests in parallel), is not enough to adopt a cloud first strategy. Cloud testing is not limited to running tests in cloud farms. It is much more than that. Test execution is only one part of the entire testing pipeline. Moving execution to the cloud would not give testing the acceleration it needs nor would it make it scalable.
2. A cloud first strategy is not just about adopting SaaS solutions.
We often think adoption of the cloud is limited to adoption of SaaS solutions. That is simply not the case. Organizations that are adopting cloud migration in their overall digital transformation strategy are actually adopting hybrid solutions in the cloud to build best in-class cloud solutions.
They are working with a variety of vendors that offer different types of cloud solutions such as SaaS, PaaS and IaaS. These help them build the cloud infrastructure that works best for them. So when you are evaluating solutions, keep in mind that there are a number of vendors out there with a variety of options to choose from. A solution that works well for your competitor might not give you the same results. Pick the solution that fits your needs and requirements.
What Does it Take to Achieve the Cloud First Approach?
1. 360 Integration of all the tools involved in the testing pipeline
2. Tool identification which supports cloud
3. Cloud solutions
4. Solutions that scale up and scale down on demand
5. Cloud based test data solution
6. Understand cloud options and pick the one that works for you
We will take a deeper look at each of these.
1. Components of Cloud Testing
As mentioned above, a cloud first strategy is not limited to having cloud farms for test execution. But we should consider every component of a testing pipeline while setting up a cloud first approach.
The components of continuous testing pipeline are:
1. Test Management
2. Test Data
3. Code Repository
4. Test Execution
5. Browser farms and Device Farms
6. Test Reports
There may more depending on the needs of the organization. The major ones have been included in the list above.
In a cloud first approach you should have all the components of continuous testing connected to each other and have the ability to transfer data back and forth among each other. Limit building isolated islands of tools which can’t talk to other tools beyond their ecosystem. Identify tools that have API to connect to other tools beyond its ecosystem. Building 360 connections between each of the components is fundamental in this approach.
Even if one component is not connected, it would not be possible to have a cloud first approach as you would not have the ability to transfer data between those two manually. It would limit your ability to scale and affect your on-demand operation which kills the essence of the approach. E.g., You can run hundreds of tests overnight by automation but if your test management tool is not connected, either it would only show stale status or you will spend hours updating it.
This would be the same as attempting to create a bank account on line and not being able to receive approval. The process would not be complete. You would have to wait for someone to manually complete the transaction which would slow you down and limit your ability to scale.
2. Tool Identification That Supports Cloud
This is of utmost importance. From the time you are setting up the testing pipeline you must strategically choose tools which support cloud versions or can be deployed in the cloud. It doesn’t always have to be SaaS but it should have a deployment strategy that will allow you to deploy in your own cloud. Jenkins is a good example of this. It supports the SaaS and PaaS models as you can scale based on your need and create things on demand.
3. Cloud Strategy
Don’t get hung up on the idea that cloud means managed clouds such as SaaS or you must keep every piece of your testing cloud with the cloud vendor. SaaS is a good option as it eliminates the maintenance and management efforts, but sometimes the cost of SaaS solutions will defeat the purpose of using cloud itself. The cost can become so expensive that you will limit your usage and struggle with the ability to scale.
If SaaS alone means being tied up with long term contracts, then it will not allow you to operate in an on demand model. It’s always best to choose SaaS solutions that provide you with multiple billing models such as contractual and on demand. Often, we find ourselves in situations where we have projects that last a few months and include annual contracts that will be costly considering the short time you need them for. Being tied to an annual contract that can make it very expensive if you only need it for only a few months and drain the money even when you are not using it.
4. Solutions That Scale Up And Scale Down on Demand
When considering cloud solutions we focus on solutions that scale up. But what about scaling down? Both scaling up and scaling down are equally important when choosing a solution. As we know our usage pattern of a testing pipeline has peaks and valleys. This means that when you reach your peak, scaling up is necessary and when your usage is low, it should be able to scale down and release the resources and not force you to pay when you are not even using it.
5. Cloud Based Test Data Solution
Test data is the fuel for any testing pipeline. Pipelines can only scale and run on demand if you have a cloud based test data generation module. This should be able to increase or decrease the data creation volume based on demand from testing pipeline.
6. Understand Cloud Options And Pick What Works For You.
If you are using PaaS cloud for any of the components in your testing pipeline, it is critical to be aware of all the available options offered by the cloud vendor. Cloud vendors provide several options for each of their features. Based on your usage pattern, and resource need, finding the best option from the cloud provider is essential.
There are other things to consider when designing a cloud first approach in testing for your organization. These fundamentals need to be well laid out before one is able to build on it.
Adopt cloud and accelerate testing, save money without compromising quality. Raise the bar of testing and become market leaders!