Camille Cobb '12 Exploring Text-Based Analysis of Test-Case Dependencies of Web Applications

Abstract: Web applications must be reliable as the number and popularity of web applications increases. Web applications are difficult to test because of the large input space and frequent changes. Thus, their characteristics demand an effective way of automating the test case generation process. Web application test cases often depend on what happened to the shared, persistent application state in previous test cases---I call this an inter-test-case dependency, or simply a dependency. Current test suite generation processes do not represent dependencies, and generated tests suites often violate dependencies, which negatively impacts the effectiveness of the test suite. This thesis explores the feasibility of computing dependencies from an application's resources. I propose a novel text-based approach to analyzing resources based on the insight that resources contain embedded context since they were written by human developers. In a feasibility study of five deployed web applications, I correctly identify several dependencies and show the promise of a text-based approach. I propose a process for augmenting the test case generation process to produce test suites that better uphold estimated dependencies. I identify several avenues of future work, including suggestions for improvements to the text-based methodology for estimating dependencies to improve the accuracy of dependency estimates and implementation of the proposed augmented test case generation process.

Faculty Advisor: Sara Sprenkle