Sound Test Case Generation for Concurrent Mobile Features

Resumo


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, cspioq, 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.

Palavras-chave: Concurrent Features, Software Testing, CSP, Quiescence
Publicado
04/12/2023
ALMEIDA, Rafaela; NOGUEIRA, Sidney; SAMPAIO, Augusto. Sound Test Case Generation for Concurrent Mobile Features. In: SIMPÓSIO BRASILEIRO DE MÉTODOS FORMAIS (SBMF), 26. , 2023, Manaus/AM. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2023 . p. 92-109.