ChimpCheck: Property-Based Randomized Test Generation for Interactive Apps

08/29/2017
by   Edmund S. L. Lam, et al.
0

We consider the problem of generating relevant execution traces to test rich interactive applications. Rich interactive applications, such as apps on mobile platforms, are complex stateful and often distributed systems where sufficiently exercising the app with user-interaction (UI) event sequences to expose defects is both hard and time-consuming. In particular, there is a fundamental tension between brute-force random UI exercising tools, which are fully-automated but offer low relevance, and UI test scripts, which are manual but offer high relevance. In this paper, we consider a middle way---enabling a seamless fusion of scripted and randomized UI testing. This fusion is prototyped in a testing tool called ChimpCheck for programming, generating, and executing property-based randomized test cases for Android apps. Our approach realizes this fusion by offering a high-level, embedded domain-specific language for defining custom generators of simulated user-interaction event sequences. What follows is a combinator library built on industrial strength frameworks for property-based testing (ScalaCheck) and Android testing (Android JUnit and Espresso) to implement property-based randomized testing for Android development. Driven by real, reported issues in open source Android apps, we show, through case studies, how ChimpCheck enables expressing effective testing patterns in a compact manner.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/19/2018

Mining Android App Usages for Generating Actionable GUI-based Execution Scenarios

GUI-based models extracted from Android app execution traces, events, or...
research
11/23/2020

CAT: Change-focused Android GUI Testing

Android Apps are frequently updated, every couple of weeks, to keep up w...
research
11/13/2019

Reinforcement Learning-Driven Test Generation for Android GUI Applications using Formal Specifications

There have been many studies on automated test generation for mobile Gra...
research
04/12/2021

An Evolutionary Approach to Adapt Tests Across Mobile Apps

Automatic generators of GUI tests often fail to generate semantically re...
research
01/28/2022

Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves

Mobile apps are indispensable for people's daily life. Complementing wit...
research
06/12/2019

Lifestate: Event-Driven Protocols and Callback Control Flow (Extended Version)

Developing interactive applications (apps) against event-driven software...
research
01/02/2023

Test Reuse Based on Adaptive Semantic Matching across Android Mobile Applications

Automatic test generation can help verify and develop the behavior of mo...

Please sign up or login with your details

Forgot password? Click here to reset