EventFlowSlicer: Goal Based Test Case Generation Strategy for Graphical User Interfaces |
Jonathan Saddler and Myra B. Cohen |
Supplementary Data for our paper that appears in A-TEST 2016 |
Automated test generation techniques for graphical user interfaces include model-based approaches that generate tests from a graph or state machine model of the interface, capture-replay methods that require the user to specify and demonstrate each test case individually, and modeling-language approaches that provide templates for abstract test cases. There has been little work, however, in automated goal-based testing, where the goal is a realistic user task, a function, or an abstract behavior. Recent work in human performance regression testing (HPRT) has shown that there is a need for generating multiple test cases that execute the same user task in different ways, however that work is limited in that it lacks efficient test generation techniques and only a single type of goal has been considered.
In this paper we expand the notion of goal based interface testing to generate tests for a variety of goals. We develop a direct test generation technique, EventFlowSlicer, that is more e cient than that used in human performance regres- sion testing, reducing run times by 92.5% on average for test suites between 9 to 26 steps and 63.1% across all test suites. Our evaluation shows that the number of tests generated is non-trivial – more than can be easily captured manually. On average EventFlowSlicer generated 38 test cases per suite, and as many as 200 test cases which all achieve the same goal for a specified task.
Below are EFG, GUI, and Rules files provided for different versions of the tasks. Note that we provide data in the rules column that specifies rules files for both the generators used during the study of 1) the EFS test case generator and 2) the HPRT test case generator. A zip file of each set of generated test cases is provided in a table following the input files table.
The set of applications used for our tasks consist of the following:
App | Task | Instance | GUI | Rules | EFG | Visualizations |
---|---|---|---|---|---|---|
LibreOffice Writer | Format Text | M | GUI File | EFG File | EFG PNG | |
LibreOffice Writer | Format Text | MK | GUI File | EFG File | EFG PNG | |
LibreOffice Writer | Format Text | MKT | GUI File | EFG File | EFG PNG | |
LibreOffice Writer | Insert Hyperlink | M | GUI File | EFG File | EFG PNG | |
LibreOffice Writer | Insert Hyperlink | MK | GUI File | EFG File | EFG PNG | |
LibreOffice Writer | Insert Hyperlink | MKT | GUI File | EFG File | EFG PNG | |
LibreOffice Calc | Absolute Value | M | GUI File | EFG File | EFG PNG | |
LibreOffice Calc | Absolute Value | MK | GUI File | EFG File | EFG PNG | |
LibreOffice Calc | Absolute Value | MKT | GUI File | EFG File | EFG PNG | |
LibreOffice Impress | Insert Table | M | GUI File | EFG File | EFG PNG | |
LibreOffice Impress | Insert Table | MK | GUI File | EFG File | EFG PNG | |
LibreOffice Impress | Insert Table | MKT | GUI File | EFG File | EFG PNG | |
TerpWord | Bold Center | GUI File | EFG File | EFG PNG | ||
DrJava | Compile File | GUI File | EFG File | EFG PNG | ||
DrJava | Search Options | GUI File | EFG File | EFG PNG | ||
JEdit | Comment Indent | GUI File | EFG File | EFG PNG | ||
JEdit | Commented Text | TC | GUI File | EFG File | EFG PNG | |
JEdit | Commented Text | BC | GUI File | EFG File | EFG PNG | |
JEdit | Commented Text | FULL | GUI File | EFG File | EFG PNG | |
JEdit | Four Paragraphs | WD | GUI File | EFS Rules File | EFG File | EFG PNG |
JEdit | Four Paragraphs | MD | GUI File | EFS Rules File | EFG File | EFG PNG |
App | Task | Instance | Test Cases | Average Test Case Length |
---|---|---|---|---|
LibreOffice Writer | Format Text | M | 3 zip |
10 |
LibreOffice Writer | Format Text | MK | 24 zip |
8 |
LibreOffice Writer | Format Text | MKT | 81 zip |
7 |
LibreOffice Writer | Insert Hyperlink | M | 2 zip |
9 |
LibreOffice Writer | Insert Hyperlink | MK | 8 zip |
8 |
LibreOffice Writer | Insert Hyperlink | MKT | 18 zip |
7 |
LibreOffice Calc | Absolute Value | M | 4 zip |
10 |
LibreOffice Calc | Absolute Value | MK | 32 zip |
11 |
LibreOffice Calc | Absolute Value | MKT | 72 zip |
10 |
LibreOffice Impress | Insert Table | M | 3 zip |
8 |
LibreOffice Impress | Insert Table | MK | 12 zip |
7 |
LibreOffice Impress | Insert Table | MKT | 36 zip |
6 |
TerpWord | Bold Center | 8 zip |
10 | |
DrJava | Compile File | 4 zip |
3 | |
DrJava | Search Options | 64 zip |
9 | |
JEdit | Comment Indent | 16 zip |
6 | |
JEdit | Commented Text | TC | 26 zip |
9 |
JEdit | Commented Text | BC | 26 zip |
10 |
JEdit | Commented Text | FULL | 200 zip |
14 |
JEdit | Four Paragraphs | WD | 114 zip |
16 |
JEdit | Four Paragraphs | MD | 36 zip |
21 |
This research was supported in part by the National Science Foundation awards CCF-1161767 and CNS-1205472. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.