Because mobile apps are extremely popular and often mission critical nowadays, companies invest a great deal of resources in testing the apps they provide to their customers. Testing is particularly important for Android apps, which must run on a multitude of devices and operating system versions. Unfortunately, as we confirmed in many interviews with quality assurance professionals, app testing is today a very human intensive, and therefore tedious and error prone, activity. To address this problem, and better support testing of Android apps, we propose a new technique that allows testers to easily create platform independent test scripts for an app and automatically run the generated test scripts on multiple devices and operating system versions. The technique does so without modifying the app under test or the runtime system, by (1) intercepting the interactions of the tester with the app and (2) providing the tester with an intuitive way to specify expected results that it then encode as test oracles. We implemented our technique in a tool named Barista and used the tool to evaluate the practical usefulness and applicability of our approach. Our results show that Barista (1) can faithfully encode user defined test cases as test scripts with built-in oracles that can run on multiple platforms and (2) outperforms two popular tools with similar functionality. Barista and our experimental infrastructure are publicly available.
|Original language||English (US)|
|Title of host publication||Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017|
|Publisher||Institute of Electrical and Electronics Engineers Inc.|
|Number of pages||12|
|State||Published - May 15 2017|
|Event||10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017 - Tokyo, Japan|
Duration: Mar 13 2017 → Mar 17 2017
|Name||Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017|
|Conference||10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017|
|Period||3/13/17 → 3/17/17|
Bibliographical noteFunding Information:
This work was partially supported by the National Science Foundation under grants CCF-1453474, CCF- 1564162, CCF-1320783, and CCF-1161821, and by funding from Google, IBM Research, and Microsoft Research.
© 2017 IEEE.
Copyright 2017 Elsevier B.V., All rights reserved.
- Android testing
- Automated testing