Abstract:
Graphical user interface is an important aspect of a software. We perform user interface
based testing to ensure this reliability and correctness of a system under test (SUT).
However, testing is a cost, effort, and time-intensive task. We perform automated testing
using test cases that make use of interface level controls in the form or recorded interactions
placed together in a suite called test suite. This test suite can have a very large number of
test cases some of them may be redundant and or maybe repetition or a part of a larger test
case. Additionally, a user interface based automated test case (UI test case) has large
number of commands that are generated by Interactive Development Environment (IDE),
such as Selemium, JMeter, Visual Studio etc., in which the test case is developed. It is for
this reason that analysis of such cases for selection into regression testing suite is a difficult
process. It is important to highlight that in case of regression or selective (re-)testing, test
engineers may want to test only some functionalities of the software. This becomes the
basis of our research and we convert UI test cases into an intermediate form where we
extract UI elements or controls into a text sequence. These elements or controls are invoked
during test cases recording e.g., menu items, text boxes, radio buttons, check boxes, buttons
etc. We select Visual Studio to do test script recording and we process them using data
mining techniques to find out if a test sequence is partly or completely available in rest of
the test cases and this helps us do test case minimization and prioritization. Minimization
and prioritization largely contributes towards reduction in time, cost, and effort of
regression testing as we can test complete SUT using less number of test cases or using less
number of test cases bearing high priority. Another important aspect is coverage, test cases
are providing or adequacy of the test suite. Our contribution is a novel approach to analyze
UI test cases for regression testing using test case prioritization and minimization with
coverage, based on controls in an application.