- Main
Advancing Automated Software Testing Through Test Reuse
- Lin, Jun-Wei
- Advisor(s): Malek, Sam
Abstract
Testing is an indispensable phase of software development life cycle. It is the primary way through which the quality of software is improved. To reduce the cost of manual testing, many automated test input generation techniques have been proposed. Despite all these efforts, current automated techniques still suffer from a set of common limitations that undermines their viability. On the other hand, while rarely discussed or leveraged in the context of test generation, the concept of test reuse has great potential for addressing these limitations. In other words, automated test generation can significantly benefit from reusing and extracting human knowledge from existing test suites.
This dissertation proposes to advance automated software testing through enabling test reuse (1) across similar applications within a platform; (2) across different platforms for the same application; and (3) within an application. To show the feasibility of these ideas, this thesis particularly presents three automated tools, namely CraftDroid, TransDroid, and Route, to (1) transfer GUI tests across similar Android apps; (2) transfer GUI tests for an app from web to its Android counterpart; and (3) augment existing test suites of an Android app to verify the same features but with alternative execution paths. These tools are backed by program analysis and natural language processing techniques to find the semantic mapping between GUI events across apps and platforms. The ability to reuse context-aware text inputs and oracles in the original tests distinguishes this research from prior work.
All conducted experiments on real-world subject apps corroborate the effectiveness and efficiency of the proposed approaches, and their ability to supply automated software testing with test reuse.
Main Content
Enter the password to open this PDF file:
-
-
-
-
-
-
-
-
-
-
-
-
-
-