The Event-flow Graph Generator - EFGGenerator
The EFGGenerator generates the event-flow graph for an AUT’s GUI. To see how to analyzes a window-based application and understand its GUI integration tree, click here.
As an example, Figure 1 shows the event-flow graph for the Open dialog of WordPad.

Event-flow
graph basics
An active GUI component is one that invokes one or more modal or modeless dialog window when clicked by the user. For example a button or a menu item is an active GUI component. We can define an event as the user’s action of clicking a GUI component. An event-flow graph represents the possible events that can follow a given event. In Figure 1, the user can click on different indicated components after clicking on LISTBOX_1.
One event-flow graph is generated for each group of GUI windows. A group of GUI windows is composed of one modal dialog box and its associated modeless dialogs. The associated modeless dialog windows for a modal dialog window are those modeless dialog windows that can be directly or indirectly invoked from the modal dialog. Figure 2 demonstrates this. WordPad’s main window along with the REPLACE and FIND modeless dialog window constitutes one group. An event-flow graph is generated for this group.
Event-flow graph for each group Modal Modeless




We shall now see how to generate the event-flow graph for an AUT. We shall use WordPad as our example.
Generate event-flow
graph for an AUT
This section describes how to generate the event-flow graph for an AUT.
1 The project that is being used
for the testing must be selected; that is, the user can click on any artifact
in the project window. From the GUITAR
interface, Generate -> Event-flow Graph.

This launches the EFGGenerator application. Fig 3 shows how to launch the event-flow graph generator. You will use EFGGenerator to generate the event-flow graph for the AUT and edit it.
2 When you launch the EFGGenerator, the event-flow graph is immediately generated from the integration tree and displayed for editing. However, the AUT must have been analyzed previously. Figure 4. shows the interface at this stage.

Fig 4. The event-flow graph
generator
3. To identify the events reachable from a particular event, click on that event. Only those events that are reachable from that event are highlighted. To see all events in the event-flow graph, click on any other area.
4. To navigate between the different event-flow graphs select a specific event-flow graph from the list on the left hand side.
Add/Remove
event sequence
EFGGenerator allows you to edit the event-flow graph that it generates. You might not want to have all the events follow links that EFGGenerator has identified or you may want to remove some event follows that you feel are unnecessary.
To add/remove an event sequence.
1 Left click the source/ parent event.
2 Drag the mouse to the target or event and release it.
3 If a link existed, it will be removed.
4 If a link did not exist, it will be added.
Save the event-flow
graph
1 Select File-> Save or click the Save icon on the toolbar. The event-flow graph will be saved in the projects folder you had selected from the GUITAR main interface.
Exit
EFGGenerator
1 Select File-> Return to return to the GUITAR main interface.
GUITAR – GUI Testing Framework