ChimpCheck: Property-based Randomized Test Generation for Interactive Apps
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 \revise{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.
Wed 25 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | Program Generation and SynthesisOnward! Papers at Regency B Chair(s): Emina Torlak University of Washington | ||
13:30 30mTalk | Generating Chat Bots from Web API Specifications Onward! Papers Mandana Vaziri IBM Research, Louis Mandel IBM Research, Avraham Shinnar IBM Research, Jerome Simeon IBM Research, Martin Hirzel IBM Research | ||
14:00 30mTalk | ChimpCheck: Property-based Randomized Test Generation for Interactive Apps Onward! Papers Edmund Lam University of Colorado Boulder, Peilun Zhang , Bor-Yuh Evan Chang University of Colorado Boulder | ||
14:30 30mTalk | Unbounded Superoptimization Onward! Papers |