Date of Graduation

12-2019

Document Type

Thesis

Degree Name

Bachelor of Science in Computer Engineering

Degree Level

Undergraduate

Department

Computer Science and Computer Engineering

Advisor/Mentor

Gauch, John

Committee Member/Reader

Gauch, John

Committee Member/Second Reader

Nelson, Alexander

Committee Member/Third Reader

Luu, Khoa

Abstract

The increasing complexity and demand of software systems and the greater availability of test automation software is quickly rendering manual end-to-end (E2E) testing techniques for mobile platforms obsolete. This research seeks to explore the potential increase in automated test efficacy and maintainability through the use of computer vision algorithms when applied with Appium, a leading cross-platform mobile test automation framework. A testing framework written in a Node.js environment was created to support the development of E2E test scripts that examine and report the functional capabilities of a mobile test app. The test framework provides a suite of functions that connect with an Appium server and provide interaction with the mobile test app to perform actions and assertions like clicking and verifying text. To do this without modifying the test app source code, the system employs image templates representing specific app components and identifies them within the test app by utilizing feature detection, matching, and filtering. From experimentation on three test scripts across multiple iOS and Android device simulators, iOS test script runs had a pass rate of 38% on average, while Android test runs had a pass rate of 74.5% on average. The test scripts ran perfectly only on the device simulators from which the template images were extracted via screenshots, while failures were mostly due to invalid or mismatched templates. Therefore, more generic templates that appeal to a variety of different device renderings are necessary for the test framework to be completely reliable.

Keywords

Mobile; CV; E2E; Image; SURF; Testing

Share

COinS