Testing mobile applications via automated exploration of graphical user interface and textual user input generation - Arnatovich, Yauhen Leanidavich (2019)
A Graphical User Interface (GUI) is acknowledged as a crucial component of an event-driven software (e.g., mobile apps). In the event-driven software, the GUI usually contains hundreds or even thousands of elements. As such, a large part of app functionality, and thus its code, is usually dedicated to a user interface, so its testing becomes an essential part of the software development life-cycle significantly improving quality of software. During a testing phase, the GUI can be tested by executing each event individually and observing its behaviour. However, it is not a trivial task since the behaviour of an event handler may depend on a GUI internal state, state of other entities (objects, event handlers) and an external environment. Furthermore, an outcome of the event handler execution may vary depending on a particular sequence of preceding events. As a result, each GUI event needs to be tested in a context of different states via generating and executing various sequences of the GUI events.