When manually testing Web applications, humans can go with vague, yet general instructions, such as ``add the product to shopping cart and proceed to checkout''. Can we teach a robot to follow such instructions as well? We show how to leverage tests of other applications to guide test generation for new applications in the same domain: Given a test for payments on Amazon, we guide test generation on eBay towards payment functionality, exploiting the semantic similarity between UI elements across both applications. Evaluated on twelve Web apps in three domains, our approach allows for discovering deep functionality in a few minutes, where an undirected crawler would require days or weeks to accomplish the same task.
2018-06-05
2024-12-19