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.
DOI: 10.32657/10220/48041
Fulltext Permission: open
Fulltext Availability: With Fulltext
Appears in Collections:EEE Theses

Files in This Item:
File Description SizeFormat 
PhD_Thesis_Final_Signed_NTU_2019.pdfPhD_Thesis_Final_Signed_NTU_20194.24 MBAdobe PDFThumbnail

Google ScholarTM



Items in DR-NTU are protected by copyright, with all rights reserved, unless otherwise indicated.