Leveraging Cloud for Product Testing- Impetus White Paper


Published on

For Impetus’ White Papers archive, visit- http://www.impetus.com/whitepaper

In this white paper, Impetus focuses on how the power of the Cloud can be harnessed to address the software product testing challenges faced by organizations.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Leveraging Cloud for Product Testing- Impetus White Paper

  1. 1. Leveraging Cloud Capabilitiesfor Product TestingW H I T E P A P E RAbstractIn this white paper, Impetus focuses on how the power ofthe Cloud can be harnessed to address the software producttesting challenges faced by organizations.The paper discusses Cloud Computing capabilities and whyorganizations need to consider the Cloud for testing.It also talks in detail about how a testing team can actuallyutilize the strengths and benefits that the Cloud offers andthe characteristics an application must have, to qualify forCloud-based testing.Impetus Technologies, Inc.www.impetus.com
  2. 2. Leveraging Cloud capabilities for product testing2Table of ContentsIntroduction...........................................................................................................3Why Cloud for Testing?..........................................................................................3Is Cloud useful for me during testing?...................................................................4Challenges in adoption of Cloud for Testing..........................................................6Operational challenges in Cloud adoption ............................................................7Step by step approach to leverage cloud capabilities ...........................................8Summary..............................................................................................................10
  3. 3. Leveraging Cloud capabilities for product testing3IntroductionCloud Computing is a model that enables convenient, on-demand access to ashared pool of configurable computing resources, such as networks, servers,storage, applications and services. These resources can be rapidly provisionedand released with minimal management effort or service provider interaction.Of late, there has been a lot of hype surrounding Cloud Computing and intensivedeliberation on how its capabilities can be exploited.Every organization, from start-ups, SMEs to the large ones, is considering theutilization of the Cloud in their product strategies. The Cloud is being adoptedand harnessed for various functionalities in a product development life cycle,key among them is also software testing.CXOs, test directors and managers have one big priority today—reducing thetime to plan, install, configure and validate complex test environments, whileimproving the quality of testing.Why Cloud for Testing?Looking at the multi-faceted demands of the current market, its complexity andthe dynamic nature of the applications, it is obvious that product testing hasbecome a challenging endeavor. Product Testing teams need to validate highlyscalable requirements of distributed and component-based applications. Hereare some of the main reasons why one should consider cloud for testing.• Product testing demands intensive capital investments in hardware. Fororganizations that either don’t have resources or do not want to have adirect and dedicated investment in testing infrastructure, the Cloud isthe perfect choice as it fulfills all test environment requirements anddemands.If Cloud capabilities are exploited effectively, they can help in achievingenough test coverage while bringing down investment andconfiguration costs for any organization. The usage of right environmentfor testing will also help in controlling the product costs by enablingdefect detection earlier in the life cycle.According to a recent industry research, 30 percent of the bugs inproduction are due to the incorrect test environment configurations.The study also indicates that the efforts involved in fixing these defectleakages are huge.
  4. 4. Leveraging Cloud capabilities for product testing4• Interestingly, test hardware is not utilized to its optimum capacity afterthe software is launched into the market that results in wastage ofresources of any organization. With the Cloud-based rental and pay-as-you-go model, the testing team is provided with a test lab for therequired timeframe and as soon as the testing is over, the resources aredecommissioned. This really helps organizations to save on capitalexpenditure.• Additionally, organizations can shorten the provisioning time as cloudenables provisioning of test servers on an on-demand basis. Therefore,the procurement time taken for test resources is reduced, which cutsdown other administrative costs as well. It is also important to considerthe costs involved in procuring the licenses of the tools. The cost oftools typically increases with the number of users. Therefore, mostcompanies do not test applications for the expected number of users,thereby resulting in their poor performance of the application onproduction.• Cloud Computing encourages elasticity in the application platform. Thisimplies that the actual resources used by the application may grow orshrink based on the load on the application. The Cloud makes it possibleto test during the up-scaling and down-scaling of applications withoutany intervention from the administrator.• The Cloud also gives organizations an opportunity to collaboratewithout boundaries. Geographically distributed testing teams canadditionally share the same environment and use it for testinginitiatives, 24x7. These environments can also be shared with thedevelopment team for debugging purposes. With the Cloud, testengineers can now say, “We have tested this software in a realenvironment in the Cloud. Heres the defect and heres a link to theenvironment which was used for testing.” The developer can access thatURL, to see where the defects are, and fix the same. The Cloud alsoremoves the back and forth pressure that is usually observed in atraditional testing environment.Is Cloud Useful for Me During Testing?The question that most companies are faced with is, “Is Cloud useful for meduring testing?”
  5. 5. Leveraging Cloud capabilities for product testing5It has been noticed that the external events such as the Super Bowl, Cyber-Monday, Tax Day, Valentine’s Day, a drop in the interest rate or in-fact, anyvague news about a celebrity, can suddenly drive unforeseen traffic to any webapplication.However, if the site hosting such applications becomes slow, or worse, crashesunder this load, it is safe to assume that it was not tested with enough users andthe Cloud can come in handy for testing needs.Software products with complex computational workloads such as tightlycoupled, parallel processes, or the applications that are very sensitive tonetwork performance can also leverage the Cloud during testing.Take the instance of Wall Street firms. These run thousands of instances ofcomplex Monte Carlo simulations at night to determine how to be ready whenthe market opens. This implies that for some applications the economic andagility benefits may be very strong and should be migrated quickly to the Cloud.In case of the tightly integrated applications with fairly stable usage patterns, itmay not make sense to move to the Cloud.The Cloud can also play a pivotal role in scenarios where an organization wishesto leverage its hardware infrastructure and computing resources to performtesting like performance, load, stress and compatibility for regular applications.
  6. 6. Leveraging Cloud capabilities for product testing6The Cloud is useful if organizations are looking to test High PerformanceComputing (HPC) applications or HPC style workloads. These companies wouldusually be operating in verticals such pharmaceuticals, oil exploration, industrialand automotive design, and media and entertainment.No matter what the need, organizations must determine the exact reasons whythey have to move to the Cloud and when they have to make this move.Challenges in Adoption of Cloud for TestingThere are several challenges that organizations can encounter while embracingthe Cloud for software testing. These include:• Sharing of resources and test environments: The first major pain pointis sharing of resources and test environments. The sharing of theinfrastructure becomes a problem when the same stack of resources isbeing accessed by different teams that often results in resourcedeadlocks.• The deployment of builds on various nodes: This is anotherproblematic area. If the build is deployed manually and on a largenumber of nodes, it will involve additional effort in installing the buildon every other node by the testing team. Even the deployment oftesting tools can create problems.• Execution of test suites on different clusters: A significant challenge isthe execution of test suites on different clusters and monitoring thisactivity. As the suite is executed on various nodes, keeping an eye onthe execution status and arriving at a legible consolidated result setfrom a cluster of machines becomes a difficult task. The management oftest data with clusters getting up-scaled and down-scaled is anotherproblem.
  7. 7. Leveraging Cloud capabilities for product testing7Operational Challenges in Cloud AdoptionApart from the challenges discussed in the previous section, there are otheroperational challenges that are faced by the organizations due to cloudplatforms.Interoperability: Each public cloud provider has its own architecture,operating model and pricing mechanism and offer very littleinteroperability. This poses a big challenge for companies when they needto switch vendors. Vendor lock-in, regulatory compliance, privacy, andsecurity, are among a few customer concerns related to the public Cloud.Frequent updates: It is also seen that Cloud vendors update their APIs andrelease their builds very frequently. This in turn places a demand on theproduct teams to keep a check on these changes, and get their productsvalidated for the Cloud vendors’ builds, as well.Monitoring: The improper use of Cloud-based test environments can resultin higher costs. Even though some vendors offer pay-as-you-go Cloudservices, this approach can be expensive if the resources are not controlled,monitored and used efficiently.System maintenance/updates: Additionally, performance of the Cloud canhave an impact, as sometimes the services are disrupted due tomaintenance or updates by Cloud vendors. As public Clouds are shared bynumerous users, there may be cases where a company might have to waitfor the required bandwidth.Security: Security is also another critical factor that needs to be addressed.Recently, the Sony site was hacked and the data of about 100 million useraccounts was compromised. This was the second-biggest data theft to occurin the US and was carried out using Amazons EC2 Cloud. Therefore,security, related to data integrity, is a major concern.However, despite these bottlenecks, there are several benefits of harnessing thepower of the Cloud and its infrastructure to ensure the correctness of productarchitecture, its implementation and configuration.
  8. 8. Leveraging Cloud capabilities for product testing8Step by Step Approach to Leverage CloudCapabilitiesImpetus Technologies has designed a custom test approach that can helporganizations to adopt the Cloud for their product testing needs. The testapproach was derived from Impetus’ test engineering maturity model (TEMM),which defines the key testing activities that are necessary to rightly test anysoftware product. The model helps resolve the ambiguities that arise duringSoftware Product Testing.
  9. 9. Leveraging Cloud capabilities for product testing9The Impetus defined model aims to provide a definitive direction to achievingbetter product quality, through a focus on business goals, risks, time and costs.The model serves as a benchmark for any type of testing, including functionaland nonfunctional testing and its defined set of activities can show the way toan organization’s testing teams.According to Impetus, companies can adopt its step-by-step approach toleverage Cloud capabilities as showcased in the figure below.
  10. 10. Leveraging Cloud capabilities for product testing10SummaryClearly, Cloud is currently gaining momentum and has the capability to reducethe product life cycle for any organization and come up with better quality,zero-defect offerings with lesser investment. With its own set of challenges,Cloud brings a lot more benefits that help organizations to put a cap on theirbudgets. Impetus’ approach towards Cloud utilization during testing can beadopted by any product company that provides them a definitive directiontowards efficient utilization of the same.About ImpetusImpetus is a Software Solutions and Services Company with deeptechnical maturity that brings you thought leadership, proactiveinnovation, and a track record of success. Our Services and Solutionsportfolio includes Carrier grade large systems, Big Data, Cloud,Enterprise Mobility, and Test and Performance Engineering.Website: www.impetus.com | Email: inquiry@impetus.com© 2013 Impetus Technologies, Inc.All rights reserved. Product andcompany names mentioned hereinmay be trademarks of theirrespective companies. May 2013