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

Xiaoning Ding, Hai Huang, Yaoping Ruan, Anees Shaikh, Brian Peterson, and Xiaodong Zhang

Proceedings of ACM EuroSys 2010, Paris, France, April 13-16, 2010.


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 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.