Smarter approach to functional testing in a cloud environment

My previous blog, in this series was about the role of test environments in cloud migrations. In this blog, let’s see how functional testing plays a major role in cloud migrations.

Functional testing in cloud hardly varies from that performed in regular test environments, except that test cases Image (131)may have to rewritten to ensure they are cloud-ready (functionally decomposed).However from a business process validation perspective, there will be no differences in the test scenarios or test steps. This is unless new features or functionality have been added or planned to be included as part of the cloud hosting strategy. In most situations, the same test design techniques can be applied to both web-based application and that hosted in a cloud environment. However, a specific set of tests will have to be designed to test those features specific to cloud and the application’s ability to support broad network access, and proposed benefits.

End-to-End (E2E) Testing

While the line of separation between E2E and system integration testing (SIT) is blurred in a web-based application testing, the difference is clear in a cloud-based environment. Unlike a web based application environment, risk of failure is greater in large organizations, where the infrastructure, processes and the integration between different business units is complex.

While SIT mostly focuses on testing interfaces, E2E testing must focus on identifying and testing combinations of systems and business process mimicking real business scenarios. Tests should be run to validate potential scenarios such as:

  • Data inconsistency (different data sources sending / receiving different data formats) at different points of time
  • Potential mistakes in interpreting data due to human dependencies (typical issues as seen in the case of internationalization of data / applications)
  • Data schema – consistency of unique keys, primary keys, data type and data size across different applications, tables and data bases

E2E testing should not be restricted to functional testing; it should also cover non-functional testing.

It is recommended that tests are also designed to:

  • Validate that the service and business processes are aligned
  • Validate that permitted configurations and amount of customization are thoroughly tested
  • Validate that the required platforms are supported
  • Validate integration with non-cloud based systems
  • Validate that exception and alternative paths are adequately tested
  • Validate that changes to the environment do not negatively impact application functionality or availability (especially in public cloud when updates are done by cloud service provider)

Also, look out for my next blog, in which I shall share my experience with performance testing in cloud and non-cloud environments.

Venkata Ramana Lanka

Director - QA, Virtusa. Venkata Ramana Lanka (LRV) is an accomplished software test management professional with an extensive background in software testing, test automation framework design, building domain specific testing solution accelerators, leading large software testing teams and supporting presales initiatives. LRV is an hands-on manager with proven ability to direct and improve quality initiatives, reduce defects and improve overall efficiency and productivity. He has in-depth and proven expertise in developing and implementing test strategies and operational procedures. LRV has extensive experience in working with multiple commercial and open source test tools. As a QA thought leader, LRV has written multiple White papers and articles some of which have been published in various media. Further, he has spoken and presented papers at various software testing conferences.

More Posts - Website

One Comments

  • Neil January 26, 2016

    This article is so timely and informative.

Comments are closed.