Sound Test Case Generation for Concurrent Mobile Features - Almeida, Rafaela; Nogueira, Sidney; Sampaio, Augusto (Anais do Simpósio Brasileiro de Métodos Formais (SBMF); 2023: Anais do XXVI Simpósio Brasileiro de Métodos Formais, 2023)
It is well-recognised that testing concurrent systems poses challenges due to their complex interactions and behaviours, as well as the difficulty to reproduce failures. We propose a sound strategy for testing concurrent mobile applications by first extracting use cases that capture interleavings of behaviours of existing test cases for individual features. From these use cases, we generate test cases that are still sequential but exercise the execution of concurrent features. Our approach incorporates a dependency analysis to ensure a consistent execution order of test steps, avoiding incoherent sequences, like sending a message without establishing an internet connection. We introduce a conformance relation, cspio q , based on cspio, but extended to consider quiescent behaviour (output absence) as in ioco, a widely recognised conformance relation for formal software testing. We then optimise the strategy, which involves permuting test steps without the need to generate use cases but preserving soundness. We discuss tool support and conduct an empirical evaluation to assess the effectiveness of the overall strategy in terms of test coverage and bug detection. The results indicate that our approach yields higher coverage and potential bug detection compared to the set of tests generated by Motorola engineers.