|
Cloud testing: attracting demand
Testing in the cloud leverages cloud computing environments
and seeks to simulate real-world user traffic as a means of load or stress testing
Web sites. By Nivedan Prakash
Business
applications are becoming more dynamic, distributed and component-based. This
is due to demand for applications that are easier to use, more flexible and
more connected to real-time data. Consequently, the task of testing and delivering
these applications is rising in importance and criticality.
This is where cloud testing has emerged as a fresh approach to testing where
cloud computing environments are leveraged to simulate real-world user traffic
by significantly decreasing costs. This can also be extended to classical functional,
regression and other testing of regular products in a product development cycle
from a perspective of cost.
In essence, cloud testing is a form of software testing wherein testing is done
using resources, machines or servers from the cloud infrastructure. Besides,
the entire testing environments can be obtained from the cloud on-demand at
a cost that is practical and reasonable due to the pay-for-use nature of cloud
computing and with a lead-time that is near impossible within a companys
own data center.
Initially, this concept took shape when companies started using numerous machines
booted up in the cloud in order to simulate web traffic and carry out performance
tests on Web sites. Now remote machines in the cloud are used to provide a common
ground for testers to test and developers to isolate and resolve the observed
software defects.
Apparently, cloud testing has traditionally been used to refer to load and performance
testing of Web sites. However, with increasing maturity of technology, all kinds
of enterprise software can be tested for functional and performance issues before
going in for full fledged enterprise deployment.
According to R V Ramanan, President Global Delivery and Chief Software
Architect, Hexaware Technologies, Cloud testing is the answer to the less-than-realistic
performance test that originates within the infrastructure of one of our clients.
When we use cloud testing, we take advantage of hardware and bandwidth that
more closely mimics our observed, real world conditions. Essentially, we execute
the test in cloud-based infrastructure and bandwidth. This allows us to design
and execute global tests that give more meaningful results much faster.
Cloud testing basically aligns with the concept of cloud and SaaS. It
provides the ability to test by leveraging the cloud, thereby bringing the same
benefits that the cloud brings to customers. With cloud testing, we dont
have to procure perpetual licenses for testing, or set up an expensive infrastructure
to test the applications. Here, we can leverage the shared environment provided
by the cloud testing vendor, said Vinita Ananth, Director - APJ Region,
HP Software-as-a-Service.
Of late, cloud testing is being offered as a service by some providers, which
in itself is a new line of business. This service enables the users of cloud
testing to reduce or optimize on cost while having the ability to extend testing
functionality.
Development of cloud testing
|
"Cloud
testing is the answer to the less-than-realistic performance test that
originates within the infrastructure of one of our clients. In cloud testing,
we take advantage of hardware and bandwidth that more closely mimics our
observed, real world conditions"
- R V Ramanan
President - Global Delivery and Chief Software Architect, Hexaware Technologies
|
|
"Product
testing organizations typically tested in their own environments and this
may not suffice the business need once cloud computing comes into
picture. Companies would need to test their
products in a cloud environment to ensure security, reliability and manageability"
- Deepak Visweswaraiah
Senior Director - Storage Software Group, EMC India Center of Excellence
|
|
"Applications
running on the cloud would need to be tested for network, server, database
and software performance on the application as well as the way in which
it is cached in the client and security. This means testing would need
to be done in the cloud and using the cloud"
- Mukesh Sharma
Founder and CEO of QA InfoTech
|
Cloud computing has inherited challenges in terms of security,
reliability, and manageability. Mitigating these challenges has lead to the
development of cloud testing. Industry experts are of the view that cloud computing
does have its share of challenges. It is definitely more secure and easy to
manage if any company has on-premise infrastructure. Having put any important
data out in the cloud would only require the companies to be doubly sure about
the working of their applications and security of their data. In order to achieve
that, it is a must to rigorously test applications using various approaches
including cloud testing.
Ralph Decker, AVP - AppLabs, added, In the last couple of years, even
though the cloud has raised the bar in terms of the infrastructure management,
the above challenges are present in the market. Hence, a proper testing cycle
will definitely ensure that these are addressed at the right time in the product
development lifecycle and deployment.
Product testing organizations typically tested in their
own environments and this may not suffice the business need once cloud
computing comes into the picture. Companies would need to test their products
in a cloud environment to ensure security, reliability and manageability. Some
examples of such functions are multi-tenancy, billing, metering, etc.,
stated Deepak Visweswaraiah, Senior Director - Storage Software Group, EMC India
Center of Excellence.
Here, we would also like to mention that with the increasing scope for cloud
computing, there is a spike in demand for cloud testing as well. Cloud computing
is growing at a rapid pace. With the advent of this technology, there is bound
to be an increase in demand for cloud testing.
Moreover, the hype and popularity around cloud computing has certainly increased
the visibility of cloud testing. Many virtues of cloud computing such as scalability,
dynamic allocation of resources and the pay-per-use model, which extends to
cloud testing, make it an appealing option for enterprise customers.
As more applications move into the cloud, we will need to ensure that
they still provide the same level of service as when run out of dedicated, on-premise
infrastructure. For example, an application running in the cloud would need
to be tested for network, server, database and software performance as well
as the way in which it is cached in the client and security. This means testing
would need to be done in the cloud and using the cloud, in turn, pushing the
demand for cloud testing, opined Mukesh Sharma, Founder and CEO of QA
InfoTech.
Leveraging cloud computing
As mentioned above, cloud testing leverages cloud computing
environments and seeks to simulate real-world user traffic as a means of load
testing or stress testing Web sites. Traditionally, load testing or stress testing
was done by using tools which let testers simulate a certain number of virtual
users. Even though this gives them an idea of the performance of the Web site,
it does not tell you about the real user experience. Also, in some cases this
approach may not suffice.
However, cloud computing enables testers to boot up numerous machines in real
time and get control of them. These machines are then used to generate traffic
on the Web site just as a real user would do. Such an approach serves as a good
way to carry out load/stress testing. Today, testing vendors like HP and others
are offering applications that help test cloud applications and simulate load
and stress testing environments.
Chandika Mendis, VP and Global Head of Engineering, Virtusa,
pointed out, Cloud testing can be leveraged to provide real-world traffic
originating from many locations around the world to perform a wide-range of
load and stress testing scenarios previously not possible or only possible via
simulation and extrapolation.
In addition to it, cloud testing also leverages cloud computing resources to
increase testing functionality and significantly decrease costs. The biggest
saving on account of testing in the cloud is achieved through the conversion
of CAPEX to OPEX. Huge initial investments in building capacity are replaced
with need based sourcing of infrastructure, ASQ tools and human resources leading
to multi-tenant, efficient and certain utilization.
In traditional testing, one tests using only one tool. The cloud provides
an opportunity to test using multiple tools (the purpose here is to ensure coverage
and protect from false positives and false negatives. These are more relevant
for security testing for top 10 OWASP vulnerabilities). Testing can be effectively
managed for a variety of platforms and releases. This means that testing is
covered for a range of platforms at a relatively lower cost, commented
Suresh Samuel Jayaseelan, Director - Testing Services, CSC India.
Giving his companys perspective, Deepak Bhatter, Testing Head at Intelligroup,
said that the company brought in significant process and domain knowledge of
enterprise applications coupled with application testing. It is helping customers
around all the key areas of SaaS applications, thereby providing a value addition
and reducing the cost associated with quality assurance and testing.
Practical advantages
|
"An
ideal testing environment should mimic the actual production environment
(including the hardware) which becomes expensive. Cloud testing helps
do away with this. Software testing requires realistic bandwidth to simulate
which is not always available within the enterprise"
- Balaka Baruah Aggarwal
Senior Manager - Software Research, Springboard Research
|
|
"The
cloud provides an opportunity to test using multiple tools (the purpose
here is to ensure coverage
and protect the user from false positives and false egativesthese
are more relevant for security testing for top 10 OWASP
vulnerabilities"
- Suresh Samuel Jayaseelan
Director - Testing Services, CSC India
|
As testing in the cloud is an on-demand service, scale-up
or scale-down provisioning is much faster, turnkey and several times cheaper
for organizations with evolving application needs and fluctuating demand for
IT infrastructure.
Among other practical advantages, we could clearly say that
cloud-based tests are much more versatile. They can easily handle 10,000, 20,000,
or even 100,000 users from a virtually infinite number of generation sites around
the world. The trick is to pick the sites that best mimic your expected Internet
traffic. Secondly, they are much less expensive. They are executed on cloud
environments and use cloud bandwidth. This means that clients do not have to
make large investments in infrastructure or connectivity. The software used
is also deployed in a SAAS model, so it is effectively priced and customers
merely pay as they go. Finally, these tests are very fast to setup and execute.
An ideal testing environment should mimic the actual production environment
(including the hardware) which becomes expensive. Cloud testing helps do away
with this. Software testing requires realistic bandwidth to simulate this, which
is not always available within the enterprise. Load balancing is a critical
parameter that needs to be tested and is at risk of being compromised if adequate
IT infrastructure is not available, highlighted Balaka Baruah Aggarwal,
Senior Manager - Software Research, Springboard Research.
One area where we would probably see a practical advantage is where Web-based
applications are involved. The ability to test a Web application at a particular
scale at the level at which it is expected to perform is a great advantage.
Such infrastructure most probably will not be available internally to a corporation.
The principal advantages here are the ability to obtain computing
resources from the cloud as-and-when needed to perform testing for a fraction
of the cost and in a fraction of the lead-time that it would take to purchase
and maintain those computing resources within an organization.
Indian market scenario
The Indian growth story in this sector is going to be enabled by IT. IT use
and implementation is still restricted to large corporations in India; cloud
computing and specifically testing in the cloud will bring about the required
efficiencies and operating model for large scale IT implementation and utilization
in India.
According to Springboard Research, the Indian market will see a gradual uptake
of testing in the cloud as awareness spreads. With software adoption steadily
on the rise, cloud testing has good potential in the Indian market.
As more applications are converted or developed on the Internet, industry experts
feel that cloud testing will become the fastest growing performance test method.
Moreover, customer adoption for SaaS-based applications in India is an area
to which attention must be paid. With the adoption of cloud based applications
on the rise, cloud testing is also expected to grow. As more independent software
companies in India develop SaaS applications, it will further fuel this segment.
Cloud testing with its many advantages such as cost-effectiveness and scalability
(giving access to tens and hundreds of required machines) is a strong enabler
to maintain competitiveness in the software testing market and companies will
therefore increasingly embrace cloud testing.
nivedan.prakash@expressindia.com
|