Cloud no. 3

Apr29


Next week I’ll be presenting on the use of clouds and testing. I’m giving a presentation at the IDC conference in Copenhagen, Denmark. Why am I presenting here? I already know something about the potential use of the cloud and at my company we are working on a pilot of proof of concept (PoC) about the possibilities of the IBM Development & Test Cloud. We all have heard a lot about the potential of the cloud and how it can be used, but we are trying to really use it!

What is the Development & Test Cloud from IBM? You can find more about it here, but I’ll try to explain it in my words. A number of technical tools from IBM are needed for software testing and these include test and acceptance environments and test tooling. However both test and acceptance environments and test tools are expensive to buy and, more importantly, to maintain. In addition, test and acceptance environments impose a large demand on the administration of the network infrastructure. Can the use of clouds help you in reducing the costs or complexity of testing or speed up your testing?

To be sure what I mean with cloud computing I first state this: “using computer resources on the Internet when needed.” Or according to Wikipedia: “Cloud computing is Internet-based computing, whereby shared resources, software and information are provided to computers and other devices on-demand, like a public utility.”

Test infrastructure on demand
Maintaining testing environments is expensive to, because you need to have environments that can facilitate all you testing needs the whole year round. But you don’t need that facilitation the whole year. So you pay for maximum need all year round, but you don’t have the need for it!

But that environments are quite expensive to buy and maintain is not the only problem that exists around the test infrastructure. The availability of (chains of) test environments is a regular source of problems for test teams. As a test manager I usually needed to spend a lot of time (and money) on preparing the test environment and even more effort in keeping the environment ‘up’, managing it. And even if it was up a lot of defects that were found, were a result of the environment!

As a result, automation projects must make choices. Take the system into production without adequate testing and therefore not knowing what the quality of the product is, with a lot of errors and what are the risks? Or delaying the go live date and spend more hours and money on levelling the quality? Even if the environment is up and stable to perform tests, this is done with the goodwill of people. The test team is actively managing the environment because tasks and mandates are not performed by the suppliers of the environments, but they are broken up and shared with the test team. At one client I had a very good testing coordinator who was an expert in managing the availability of the infrastructure.

And what happens when an error is found in the environment? You would think it would be resolved, but unfortunately organizations often assign low priority to solving a non-functioning test environment. Which results in a even larger delay of the testing activities.

Can clouds help with these problems? Well it can give you a large number of environments to perform all of your testing. With cloud computing and virtualization it’s possible to create multiple (testing) environments in the cloud. Clouds can provide an infrastructure on which tests can be executed. All needed environments can be created; development, testing, acceptance and production (DTAP).

With test environments all quality attributes like availability, reliability, security, performance, scalability and elasticity thrive around the infrastructure. When you look at the availability and elasticity a cloud can give you unlimited web services and applications when they are needed to test.

SaaS for test tooling in the cloud
Can clouds also help with test tooling and not only for the testing environments. If you combine the use of SaaS or Software as a Service with cloud services it’s possible to use the test tooling whenever it is needed. And thus creating a greater flexibility for using these tools. With this cloud services can help IT departments with two of their problems. Problem 1: the business demands more value at a lower costs. And problem 2: the (end) users of the tools (in this case testers) who demand a greater choice and flexibility. By making applications or tools available in the cloud you can satisfy both the business (tools are only costing money when they are needed) and the users (they can use the tools they need from the cloud).

Tip: This can also be done for mobile environments and the execution of performance and stress testing.

And with this Gartner also states that cloud computing is a catalyst and a perfect excuse for IT modernization and improving internal IT services maturity. Clouds have an indirect impact on other infrastructure activities. Like application consolidation and portfolio rationalisation. It helps you figure out the cost of providing services internally and improving the efficiency and transparency of IT operations.

Starting a pilot
So, the cloud has potential for testing. But this is all theory and that’s why we at Sogeti wanted to try this in practice. So we started a Proof of Concept together with the IBM Development & Test Cloud to try out test tooling and infrastructure in the cloud.

We are using a real testing project for the pilot. And for this project we created a test environment in the cloud and set up our testing tools within the cloud. This was easily done, because we could copy the existing tools (including data) into the cloud.

The test environment we created was made up of test management tools (collaboration tools a testing team uses to manage the testing) and test execution tools. These tools are emulated from a virtual image to be executed on your desktop. As a last step we  are finishing the setup of the test environment in the cloud to test the actual application. With this we can now execute our test scripts from our virtual environment within the test cloud and run a normal testing project.

Is there a light in a cloudy sky?
We haven’t finished the project yet. But what are our findings so far? Our experiences are based on the project as-is, being half way. It’s fairly easy to set up the environment and this can be done very fast. First time you need to adjust the whole image, but once that’s done it’s easy going from there. The performance of the current cloud environment is sufficient for a normal sized project. The performance is scalable when using more or less resources of the cloud, but we don’t have figures about that yet. It’s possible to do central management over all the cloud environments. There are already a reasonable number of default settings set in the cloud.

And the weaknesses? A test environment coordinator needs to have technical skills, because they are needed to install and manage the cloud. At this moment there’s no Windows environment available, only Linux. This is planned for the near future. When there are more servers available this would add more to the potential of the use. And there is a confidentiality risk when important information is set in a hybrid cloud (we are not using only a private cloud).

Cloud computing delivers us the opportunity to have all the testing and acceptance environments we want. At a fraction of the costs when we should want these configurations for real. It reduces the complexity and even can speed up the testing process because a test team can rely on the environment instead of lying awake about it. When you have the technical knowledge it’s only one mouse click away and you can set up multiple environments in the cloud when you need it!

This entry was posted on Thursday, April 29th, 2010 at 14:35 and is filed under Clouds, Ewald Roodenrijs. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

3 Responses to “Cloud no. 3”

  1. shavanya Says:

    Hi,We are trying to implement clod in our company for testing.Before that i have to setup a demo for them. Can u pls tell me wat all i will be neding for it? your response is highly appreciated

  2. Trackbacks Says:

Leave a Reply

Before you submit form:
Human test by Not Captcha