Please use this identifier to cite or link to this item:
|Title:||Testing mobile applications via automated exploration of graphical user interface and textual user input generation||Authors:||Arnatovich, Yauhen Leanidavich||Keywords:||DRNTU::Engineering::Computer science and engineering::Software::Software engineering||Issue Date:||17-Apr-2019||Source:||Arnatovich, Y. L. (2019). Testing mobile applications via automated exploration of graphical user interface and textual user input generation. Doctoral thesis, Nanyang Technological University, Singapore.||Abstract:||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. Modern mobile apps have a highly interactive nature and complex GUI structure. As such, an automated GUI testing of mobile apps is a daunting task for developers and testers. Often the GUI testing is done manually where all possible combinations of the GUI elements for a given app screen are manually tested for functional correctness and aesthetic quality. The manual GUI-testing is no doubt an effective approach, however, it is inefficient, i.e., time-consuming, error-prone, and usually not complete, especially for a large software with complex GUIs. So, to facilitate manual testing, various automated testing approaches have been introduced such as model-based testing, concolic testing, search-based testing, evolutionary testing, and combinatorial testing. However, for automated testing, there is a challenge to generate tests with high coverage, as well as to maintain a reasonable execution time. These are hindered by the non-trivial structure, and highly interactive nature of mobile apps GUIs so that an achieved code coverage is generally low while execution time is high.||URI:||https://hdl.handle.net/10356/89265
|DOI:||https://doi.org/10.32657/10220/48041||Fulltext Permission:||open||Fulltext Availability:||With Fulltext|
|Appears in Collections:||EEE Theses|
Items in DR-NTU are protected by copyright, with all rights reserved, unless otherwise indicated.