Use of Test Doubles in Android Testing: An In-Depth Investigation
Thu 12 May 2022 22:05 - 22:10 at ICSE room 4-even hours - Software Testing 10 Chair(s): Xiao Qu
Android apps interact with their environment extensively, which can result in flaky, slow, or hard-to-debug tests. Developers often address these problems using test doubles—developer-defined objects that replace a production class during test execution. Despite the fact that test doubles are widely used, there is limited understanding of how they are used in practice. To bridge this gap, we present an in-depth empirical study that aims to shed light on how developers create and use test doubles in Android apps. In our study, we first analyze a dataset of 1,006 apps with publicly available test suites to identify which frameworks and approaches developers most commonly use to create test doubles. We then investigate several research questions by studying how test doubles defined using these popular frameworks are created and used in a set of representative apps. Our results, based on the analysis of 2,365 test doubles that replace a total of 784 production classes, provide insight into the types of test doubles used within Android apps and how they are used. Our results also show that test doubles used in Android apps and traditional Java test doubles differ in at least some respect. Finally, our results show that test doubles can introduce test smells and even mistakes in the test code. In the paper, we also discuss some implications of our findings that can help researchers and practitioners working in this area and guide future research.
Tue 10 MayDisplayed time zone: Eastern Time (US & Canada) change
13:00 - 14:00 | Tools and Environments 5Technical Track / SEIP - Software Engineering in Practice at ICSE room 4-odd hours Chair(s): Frank Tip Northeastern University | ||
13:00 5mTalk | Reflekt: a Library for Compile-Time Reflection in Kotlin SEIP - Software Engineering in Practice Anastasiia Birillo JetBrains Research, Elena Lyulina JetBrains Research, Maria Malysheva JetBrains Research;Saint Petersburg State University, Vladislav Tankov JetBrains, ITMO University, Timofey Bryksin JetBrains Research; HSE University Pre-print Media Attached | ||
13:05 5mTalk | FlakiMe: Laboratory-Controlled Test Flakiness Impact Assessment Technical Track Maxime Cordy University of Luxembourg, Luxembourg, Renaud Rwemalika University of Luxembourg, Adriano Franci University of Luxembourg, Mike Papadakis University of Luxembourg, Luxembourg, Mark Harman University College London Pre-print Media Attached | ||
13:10 5mTalk | Semantic Image Fuzzing of AI Perception Systems Technical Track Trey Woodlief University of Virginia, Sebastian Elbaum University of Virginia, Kevin Sullivan University of Virginia DOI Pre-print Media Attached | ||
13:15 5mTalk | Use of Test Doubles in Android Testing: An In-Depth Investigation Technical Track Mattia Fazzini University of Minnesota, Chase Choi University of Minnesota, Juan Manuel Copia IMDEA Software Institute, Gabriel Lee University of Minnesota, Yoshiki Kakehi Georgia Institute of Technology, Alessandra Gorla IMDEA Software Institute, Alessandro Orso Georgia Tech Pre-print Media Attached |
Thu 12 MayDisplayed time zone: Eastern Time (US & Canada) change
22:00 - 23:00 | Software Testing 10Technical Track / SEIP - Software Engineering in Practice at ICSE room 4-even hours Chair(s): Xiao Qu ABB Corporate Research | ||
22:00 5mTalk | Automated Visual Testing for Mobile Apps in an Industrial Setting SEIP - Software Engineering in Practice Dezhi Ran Peking University, Zongyang Li Peking University, Chenxu Liu Peking University, Wenyu Wang University of Illinois Urbana-Champaign, Weizhi Meng Alibaba Group, Xionglin Wu Alibaba Group, Hui Jin Alibaba Group, Jing Cui Alibaba Group, Xing Tang Alibaba Group, Tao Xie Peking University DOI Pre-print | ||
22:05 5mTalk | Use of Test Doubles in Android Testing: An In-Depth Investigation Technical Track Mattia Fazzini University of Minnesota, Chase Choi University of Minnesota, Juan Manuel Copia IMDEA Software Institute, Gabriel Lee University of Minnesota, Yoshiki Kakehi Georgia Institute of Technology, Alessandra Gorla IMDEA Software Institute, Alessandro Orso Georgia Tech Pre-print Media Attached | ||
22:10 5mTalk | Inference and Test Generation Using Program Invariants in Chemical Reaction Networks Technical Track Michael C. Gerten Iowa State University, Alexis L. Marsh Iowa State University, James I. Lathrop Iowa State University, Myra Cohen Iowa State University, Andrew S. Miner Iowa State University, Titus H. Klinge Drake University DOI Pre-print Media Attached | ||
22:15 5mTalk | Controlled Concurrency Testing via Periodical Scheduling Technical Track Cheng Wen Xidian University, Mengda He SCEDT, Teesside University, Bohao Wu CSSE, Shenzhen University, Zhiwu Xu Shenzhen University, Shengchao Qin Huawei Hong Kong Research Centre, China DOI Pre-print Media Attached | ||
22:20 5mTalk | SymTuner: Maximizing the Power of Symbolic Execution by Adaptively Tuning External ParametersDistinguished Paper Award Technical Track Sooyoung Cha Sungkyunkwan University, Myungho Lee Korea University, Seokhyun Lee Korea University, South Korea, Hakjoo Oh Korea University Pre-print Media Attached | ||
22:25 5mTalk | Path Transitions Tell More: Optimizing Fuzzing Schedules via Runtime Program States Technical Track Kunpeng Zhang Tsinghua Shenzhen International Graduate School, Tsinghua University, Xi Xiao Tsinghua Shenzhen International Graduate School, Tsinghua University, Xiaogang Zhu Swinburne University of Technology, Ruoxi Sun The University of Adelaide, Minhui (Jason) Xue University of Adelaide, Sheng Wen Swinburne University of Technology DOI Pre-print Media Attached |