A formal approach to automatically analyse extra‐functional properties in mobile applications. (14th June 2019) - Rosario Espada, Ana; del Mar Gallardo, Maria; Salmerón, Alberto; Panizo, Laura; Merino, Pedro
Summary: This paper presents an integrated approach for testing mobile applications (apps) against a set of extra‐functional properties to be used by app developers. The approach starts with the (manual or automatic) extraction of the interaction model, that is, a formal model of the potential user interactions with the app. The model is constructed to allow a model checking tool to exhaustively extract the so‐called app user flows, that is, the sequences of user actions, that constitute the test cases. In the final step, the app user flows are executed on the app running on real devices. The resulting execution traces are enriched with different measures and verified against a set of extra‐functional properties of interest. The approach has been adapted to analyse several applications running at the same time with several devices supporting the applications. This paper presents the definition and formalization of both the modelling language for the interaction model and the specification language to represent the extra‐functional properties. It also describes a methodology for automatically extracting the model. Finally, it presents an implementation focused on Android apps, which is integrated in the TRIANGLE testing framework, and the evaluation of the approach. © 2019 The Authors. Software Testing, Verification & Reliability Published by John Wiley & Sons Ltd. Abstract : This paper presents an integrated approach for testing mobile apps against a set of extra‐functional properties defined by the developer. The process starts with the extraction of the possible interactions of the user with the app (interaction model). Then, a model‐checking tool extracts the app user flows, that is, the sequences of user actions. In the final step, the app user flows are executed on the app running on real devices and the execution traces are verified against the extra‐functional properties.