Efficient regression testing of multi-panel systems

Multi-panel systems are systems that interact with a user via multiple input panels. The flow through the panels is influenced by the interaction. Multi-panel systems are ubiquitous, and include panel-based legacy applications, automated teller machines, and Web-based systems. Finding regression test suites which efficiently cover the functionality of these systems is difficult, because it requires covering interactions between input fields within a panel as well as flows between panels. Previous approaches to covering input field interactions include partitioning methods and combinatorial design methods. State machines and decision tables have been used to cover flow between panels. None of these techniques produce a conceptually simple, unified model that supports both intra- and inter-panel coverage. Our new method for capturing and representing test specifications provides such a model. This model is then used to generate a locally minimal set of test cases which completely covers the model. We applied this technique in a pilot study for regression testing, and this pilot had promising results which we discuss. We conclude by presenting our plans for generalizing the technique beyond multi-panel systems and regression testing.