Testing mobile applications via automated exploration of graphical user interface and textual user input generation

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 dedicat...

Full description

Saved in:
Bibliographic Details
Main Author: Arnatovich, Yauhen Leanidavich
Other Authors: Wang Lipo
Format: Theses and Dissertations
Language:English
Published: 2019
Subjects:
Online Access:https://hdl.handle.net/10356/89265
http://hdl.handle.net/10220/48041
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
id sg-ntu-dr.10356-89265
record_format dspace
spelling sg-ntu-dr.10356-892652023-07-04T16:33:23Z Testing mobile applications via automated exploration of graphical user interface and textual user input generation Arnatovich, Yauhen Leanidavich Wang Lipo School of Electrical and Electronic Engineering Research Techno Plaza DRNTU::Engineering::Computer science and engineering::Software::Software engineering 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. Doctor of Philosophy 2019-04-17T04:45:54Z 2019-12-06T17:21:31Z 2019-04-17T04:45:54Z 2019-12-06T17:21:31Z 2019 Thesis 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. https://hdl.handle.net/10356/89265 http://hdl.handle.net/10220/48041 10.32657/10220/48041 en 199 p. application/pdf
institution Nanyang Technological University
building NTU Library
continent Asia
country Singapore
Singapore
content_provider NTU Library
collection DR-NTU
language English
topic DRNTU::Engineering::Computer science and engineering::Software::Software engineering
spellingShingle DRNTU::Engineering::Computer science and engineering::Software::Software engineering
Arnatovich, Yauhen Leanidavich
Testing mobile applications via automated exploration of graphical user interface and textual user input generation
description 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.
author2 Wang Lipo
author_facet Wang Lipo
Arnatovich, Yauhen Leanidavich
format Theses and Dissertations
author Arnatovich, Yauhen Leanidavich
author_sort Arnatovich, Yauhen Leanidavich
title Testing mobile applications via automated exploration of graphical user interface and textual user input generation
title_short Testing mobile applications via automated exploration of graphical user interface and textual user input generation
title_full Testing mobile applications via automated exploration of graphical user interface and textual user input generation
title_fullStr Testing mobile applications via automated exploration of graphical user interface and textual user input generation
title_full_unstemmed Testing mobile applications via automated exploration of graphical user interface and textual user input generation
title_sort testing mobile applications via automated exploration of graphical user interface and textual user input generation
publishDate 2019
url https://hdl.handle.net/10356/89265
http://hdl.handle.net/10220/48041
_version_ 1772825181029400576