Splitter: a proxy-based approach for post-migration testing of web applications

  • Authors:
  • Xiaoning Ding;Hai Huang;Yaoping Ruan;Anees Shaikh;Brian Peterson;Xiaodong Zhang

  • Affiliations:
  • The Ohio State University, Columbus, OH, USA;IBM, Hawthorne, NY, USA;IBM, Hawthorne, NY, USA;IBM, Hawthorne, NY, USA;IBM, Somers, NY, USA;The Ohio State University, Columbus, OH, USA

  • Venue:
  • Proceedings of the 5th European conference on Computer systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The benefits of virtualized IT environments, such as compute clouds, have drawn interested enterprises to migrate their applications onto new platforms to gain the advantages of reduced hardware and energy costs, increased flexibility and deployment speed, and reduced management complexity. However, the process of migrating a complex application takes a considerable amount of effort, particularly when performing post-migration testing to verify that the application still functions correctly in the target environment. The traditional approach of test case generation and execution can take weeks and synthetic test cases may not adequately reflect actual application usage. In this paper, we propose and evaluate a black-box approach for post-migration testing of Web applications without manually creating test cases. A Web proxy is put in front of the production application to intercept all requests from real users, and these requests are simultaneously sent to the production and migrated applications. Results generated by both applications are then compared, and mismatches due to migration problems can be easily detected and presented to testing teams for resolution. We implement this approach in Splitter, a software module that is deployed as a reverse Web proxy. Through our evaluation using a number of real applications, we show that it Splitter can effectively automate post-migration testing while also reduce the number of mismatches that must be manually inspected. Equally important, it imposes a relatively small performance overhead on the production environment.