This is a paper which will outline the benefits of moving the cloud from traditional in house to cloud,type of testing ,approach Test team/companies need to performed if they are adopting cloud solution .
This solution is generic in nature and it applies for all business who want to use Cloud Offering from different vendors like Microsoft, Amazon, Google, IBM, Salesforce
2. Introduction
In traditional on premises testing scenario’s, most of the small-medium business(SMB) or
larger organization are much more focus on setting up infrastructure for testing followed by
maintaining them for longer periodIt’s an overhead for them in putting lot of money on
infrastructure. Cloud computing is the new age solution which helps organizations or Service
Industries to focus on their core business rather than worrying about the setting up and
maintenance of their IT infrastructure in advance which incur them a huge Capital
Expenditure(Cap-Ex) . Resources or Services are available to be accessed from the cloud at
any time, and from anywhere in the world via the internet. Cloud computing provide a
hosting environment that is immediate scaling (in/Out), available on demand, flexible while
helping Organization to plan, install, configure and validate complex test environments while
improving the quality of testing in quick time. Cloud computing demands ubiquity,
efficiency, security, and trustworthiness. Cloud computing is the trending topics in the IT
industry as a model that provides computing resources on demand with reduced
administration costs. There are still few challenges or concerns in the areas like security,
privacy, availability, performance and integrity in the cloud. Its requires a dedicated planning
and rigorous testing effort of any cloud offering to satisfy the business need of the end user
up to great extent.
Benefit of Cloud Testing
Cloud testing helps business in like setting and maintain the environments,On-demand
services, lower cost, elimination of capital expenditure in advance, resource pooling, and
broader network access, rapid elasticity and most importantly reduction in cycle reduction
time for different business offering in this dynamic and fast going services and IT industry.
Below are the some of the key benefits with regards to Testing in cloud
Rapid provision of Test environment(s) - In case of traditional testing methodologies
(on-premises/intranet), companies used to spend huge amount of money on setting
up the dedicated infrastructure in advance. Due to the dynamic nature of the real
world application in terms of Requirements and user in short period of time, it’s very
difficult for companies to set up the infrastructure for testing use which mirrors the
production environments. With the Help of Cloud, it’s Just a matter of seconds for the
organization to turn up the testing environments/servers to fulfill project time lines.
3. Business/users can simulate the test replica of production environment which helps
testing team to validate the business scenarios and finding bugs at earliest.
Reduced capital expense or Cheaper Cost in setting infrastructure–On average there
are 30 to 50% of servers are dedicated to testing purpose in IT world. Most of them
are underutilized as testing is a periodically activities and once the phase is over they
remain idle for rest of the time. Because of the huge Investment up front on dedicated
servers companies used to get very less Return on investment(ROI) Cloud will take care
for setting up for the testing infrastructure as when needed by the organization and
decommission all the set up /servers once the testing is done which helps companies
to save their money. This helps companies to get the work done in a lower price as
compared to earlier as there is no cost associated with them in setting up all those
infrastructure in advance.
Rapid customization of hardware resources -As Companies are allowing cloud
environment for their testing use due to the dynamic nature applications which are
complex and distributed in the industry ,It’s easy for organization to simulate the
production scenarios(which was a challenge in earlier Models as it requires huge
amount of cost and resource’s associated ) to verify the Load , performance testing
,verifying the scenarios in different environment with multiple browser in different
operating system (different combination of memory, CPU and hard disk capacity)and
latest versions available in market.
Support Green computing and Reducing Carbon foot Print-Green Computing is the
study and practice of using computing resources efficiently. The global use of
computing resources, both servers and desktops, continues to grow dramatically due
to huge IT market and different industries. As most of the companies are adopting
cloud strategy which provides infrastructure on demand basis, cloud solution enables
companies to become more environmentally friendly.
Effective use of Resources-As Companies are moving most of the frequently used
services, Tools, applications, infrastructure, Testing, Development and support into the
cloud, it will allow companies to use the resources (people, money, time) on the core
competencies which helps them growing faster in terms of their Goal and enables
them to earn more money. There is no need of setting environment in advance or
keep maintaining it till next cycle. Cloud will take care of all business need as and when
4. required .By using cloud server efficiency and utilization has been drastically improved
through the even distribution of workload. Testing in the cloud leverages the existing
cloud computing infrastructure provided by the vendor which helps in reducing the
cost of computing to a great extent with increasing testing effectiveness in the process
.
Type of Testing to be performed in Cloud
Testing in cloud is different than out traditional on premise testing where enterprise has to
set up, maintain and verify the scenarios from end to end prospective in all aspects. Below
are some of the testing required to perform once application is moved to cloudpremises.
System integration testing (SIT) - Testing performed to verify that the cloud solution
will work within the current infrastructure and environments, proving that the
implementation of a cloud solution does not impact any existing systems.
User acceptance Testing (UAT) -Testing is done to verify the current provided cloud
solution from the vendor meets the business needs of the organization.
Security Testing-Ensure that all sensitive and important information which are going to
be stored in the cloud will be highly secure in nature. Asprivacy also a key area in
cloud from the user point of view, it’s important to verify the privacy of the
application users and associated information whenmaintained incloud.
Performance testing-Testing technique that measures the system performances in
cloud. Verify the network latency and response time, Load balancing, peakrequest
count by hosting subscription in different data center across the globe. Adding to
these,traditional load and stress testing are required to validate business scenarios in
the cloud model in terms of varying dynamic load and stress on the application.
Disaster recovery testing-Verify the time it’s takes to recover from disaster in different
scenario (system crashes under high load/volume of data, hardware failures,
systemfailures, Network outrage, insufficient bandwidth) as per SLA.Also verify is there
any data loss in this process and time takes to report failure.
5. Availability testing-Cloud offering should be available 24*7 for the enterprise or end
user. It’s the key responsibilities of the provider to maintain as per the SLA.
Scalability testing-Ensure cloud provider is offering scale in/out functionality as per
the demand from the user/organization.
Multi tenancy Testing-The concept of multi tenancy is to provide solution/offering
from a single instance to multiple tenants(user/clients) .Cloud offering should be
validated when more than one client is using the same instance in terms of security
and Data
Interoperability Testing-verify moving application from one cloud to alternate cloud
provider should have the flexibility to run successfully. Basically there should not be
any issue if business/user is migrating from one infrastructure to another one
Accessibility Testing -Verify user groups across different geographic location are
accessible to the cloud at any point of time without any delay.
Automation testing-Ensure that the existing automation suitecan be run with minimal
changes in the cloud. Basically UI Automation code will not be much different for an
application hosted in cloud.
There are three different service/delivery models (Saas,PaaS,IaaS)which helps
organization in adopting the right one as per their business/testing requirement. There
are three deployment model available i.e. public cloud, private cloud,and hybridcloud.
Organization will choose the right set of delivery and deployment model as per their
business needs for testing.
Key Consideration before moving to cloud Testing
6. The important thing before moving the application into the cloud is to choose right
vendor which provides a wide range of services and as per the business needs of the
organization with right set of SLA (service level Agreement). First of all organizations
must should evaluate the risk, conduct some POC to fully explore the benefits of
moving their existing or new application for cloud testing.Also they need proper
evaluation of testing tools,hardware,software,server,storage,bandwidth, time frame etc.
before building test bed. As most of the legacy applications are tightly coupled and
complexity is too high among the modules, there should be a thorough discussion
among the team before taking a strategic move to cloud (What is the cost, time factor
and resourceusage involved applications are moved to cloud?) If the application is a
HLB, mission critical Application it’s required to evaluate all the parameter starting
from Vendor capability, internal IT/Industry regulation, compliance before migrating
it.Skill sets of tester is much required before start testing on cloud. Learning and
awareness of cloud for all the team members by attending seminars, some of the best
precise in cloud testing, webinar, workshops are good source to get required
knowledge. It’s also required to monitor the test results from time to time for
performances and operational cost of application for the cloud usage.
Challenge’s in Testing in cloud
Security in public cloud is the top most concern for the Business and end user and
encryption techniques are still considered insufficient. There are no industry standard
to integrate public cloud resources with the in premises data center resources. Public
cloud vendor is having their own standard architecture, different pricing chart and not
flexible operating model which results difficulties in interoperability.Complexity of the
application makes difficult for the organization to evaluate the testing effort and
strategies.Cloud vendor should provide transparent pricing model to the customers,
enterprises for better cost estimation, capacity planning and strategic
upfront.Performance is another areas of concern in private cloud. As the application is
in private cloud,it’s shared by many users simultaneously which results a latency issue.
Conclusion
7. According to Leading Analyst such as Gartner, Most of the companies will adopt cloud
solution in place for their application in the next 5 years. Moving testing in to cloud
help organization to get the latest tools, much more security, on demand resources,
not worrying about managing infrastructure, licensing at a very low cost .Pushing
testing into cloud is a win-win situation and gain significant changes to organization in
so many ways. So Organization should take steps in changing the testing strategies
and procedures for the same. For a better cloud testing experience, test team should
adopt a robust strategy which caters to their business needs.Cloud computing is
growing at a rapid rate in the global industry because of its scalability, availability
,robustness and the lower cost for service that attracts small medium business
companies to a great extent. Hybrid cloud(mix of both public and private clouds) can
be deployed together to leverage the best of both cloud computing which helps
organization keep secured data in the private cloud and other data’s in public
cloud.Third party monitoring services helps customer are getting the best service in
the industry once they use cloud environment for their applications