If you want to get involved in one of these projects, see Professor Sprenkle.
Web application code is often large and complicated because it must handle millions of user requests dynamically and process massive amounts of information quickly and efficiently. Therefore, web application code is prone to errors and requires effective testing to expose errors. Testing based on user requests is favorable because user requests are cheap to record and testing focuses on what users actually do. In 2005, Sant et al. proposed a promising user-based test case generation approach. However, their algorithms for choosing parameter values were limited to value combinations from the original user requests, and their evaluation was based on only one application.
The goal of our project is to improve upon Sant et al.'s control and data models to generate more effective test cases that more accurately emulate actual users.
Software developers need automated techniques to maintain the correctness of complex, evolving Web applications. While there has been success in automating some of the testing process for this domain, there exists little automated support for verifying that the executed test cases produce expected results. We assist in this tedious task by providing a suite of automated oracle comparators for testing Web applications. To effectively identify failures, each comparator is specialized to particular characteristics of the possibly nondeterministic Web applications' output in the form of HTML responses. We are building on our previous work, with the goal of developing even more effective oracle comparators.