Por favor, use este identificador para citar o enlazar este ítem:
https://repositorio.ufpe.br/handle/123456789/59892
Comparte esta pagina
Registro completo de metadatos
Campo DC | Valor | Lengua/Idioma |
---|---|---|
dc.contributor.advisor | SAMPAIO, Augusto Cezar Alves | - |
dc.contributor.author | ALMEIDA, Rafaela Gonçalves de | - |
dc.date.accessioned | 2025-01-21T16:05:27Z | - |
dc.date.available | 2025-01-21T16:05:27Z | - |
dc.date.issued | 2024-08-19 | - |
dc.identifier.citation | ALMEIDA, Rafaela Gonçalves de. Sound test case generation for concurrent features combining test cases for individual features. 2024. Tese (Doutorado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2024. | pt_BR |
dc.identifier.uri | https://repositorio.ufpe.br/handle/123456789/59892 | - |
dc.description.abstract | In the current landscape of software development, where applications are becoming increas- ingly intricate and designed to handle multiple tasks simultaneously, it is essential to validate reliability under concurrent conditions. Systems can exhibit a wide range of interactions and behaviours that are difficult to replicate, making the creation of effective testing strategies extremely challenging. Additionally, generating test cases for concurrent systems is demanding due to the lack of explicit descriptions of their concurrent behaviour in the typically captured natural language requirements. Our primary contribution involves an approach for generating consistent tests based on requirements expressed in natural language, with a particular focus on mobile device applications. This approach is enhanced with a dependency analysis strategy that ensures a consistent order of test steps execution, thereby eliminating incomplete test cases or those that cannot be executed due to unmet preconditions. Furthermore, we address the soundness of the proposed approach through the introduction of a new conformance relation, denoted as cspioq. This new relation effectively handles the absence of outputs (quiescence), aiming to ensure that the system can adequately handle scenarios where no further outputs or events are expected, which is a common characteristic in concurrent systems. When up- dated requirements are not available, which is often the case in an industrial context, a reverse engineering process is necessary to generate requirements from existing test cases, in order to allow the proof of soundness of test case generation from requirements. We explore this approach to define a sound test case generation strategy that considers quiescence. Neverthe- less, from a practical (implementation) point of view, this process is rather burdensome. As an alternative, we propose an optimised test generation strategy through the permutation of test steps, referred to as atoms. This strategy aims to simplify the process by directly extracting new test cases from existing ones without the need for a complex reverse engineering process. We also address the soundness of the optimised approach by demonstrating its connection with the original approach based on reverse engineering. We fully implemented tool support and conducted an empirical evaluation of the generated test effectiveness. We analysed test coverage and the number of bugs during the execution of tests created by engineers from our industrial partner, Motorola Mobility (a Lenovo company). The adopted metrics were then compared with those obtained from tests generated using the proposed approach. The results reveal that the test set produced by our approach exhibits significantly greater coverage and has the potential to identify more bugs compared to the set created by Motorola engineers. | pt_BR |
dc.language.iso | eng | pt_BR |
dc.publisher | Universidade Federal de Pernambuco | pt_BR |
dc.rights | openAccess | pt_BR |
dc.rights | Attribution-NonCommercial-NoDerivs 3.0 Brazil | * |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/br/ | * |
dc.subject | Teste concorrente | pt_BR |
dc.subject | Teste baseado em modelo | pt_BR |
dc.subject | Quiescência | pt_BR |
dc.title | Sound test case generation for concurrent features combining test cases for individual features | pt_BR |
dc.type | doctoralThesis | pt_BR |
dc.contributor.advisor-co | NOGUEIRA, Sidney de Carvalho | - |
dc.contributor.authorLattes | http://lattes.cnpq.br/5247937845591759 | pt_BR |
dc.publisher.initials | UFPE | pt_BR |
dc.publisher.country | Brasil | pt_BR |
dc.degree.level | doutorado | pt_BR |
dc.contributor.advisorLattes | http://lattes.cnpq.br/3977760354511853 | pt_BR |
dc.publisher.program | Programa de Pos Graduacao em Ciencia da Computacao | pt_BR |
dc.description.abstractx | No atual cenário de desenvolvimento de software, onde as aplicações estão se tornando cada vez mais complexas e projetadas para lidar com múltiplas tarefas, simultaneamente, torna-se imperativo validar a confiabilidade em condições concorrentes. Os sistemas podem apresentar uma ampla variedade de interações e comportamentos difíceis de serem reproduzidos, tornando muito desafiador a elaboração de estratégias de teste eficazes. Adicionalmente, a geração de casos de teste para sistemas concorrentes é desafiadora devido à falta de descrições explíci- tas de seu comportamento concorrente nos requisitos tipicamente capturados em linguagem natural. Nossa principal contribuição é uma abordagem para a geração de testes consistentes baseados em requisitos escritos em linguagem natural, focando, particularmente, em aplicati- vos de dispositivos móveis. Essa abordagem é enriquecida com uma estratégia de análise de dependência que garante uma ordem de execução consistente dos passos de teste, eliminando, assim, casos de teste com configurações incompletas ou que não podem ser executados devido a pré-condições não atendidas. Além disso, abordamos a consistência (soundness) da abor- dagem proposta a partir da definição de uma nova relação de conformidade, cspioq. Essa nova relação lida efetivamente com a ausência de saídas (quiescência), visando garantir que o sistema possa lidar adequadamente com cenários em que não são esperadas mais saídas ou eventos (característica comum em sistemas concorrentes). Quando os requisitos não estão disponíveis, o que ocorre frequentemente num contexto industrial, um processo de engenharia reversa é necessário para gerar requisitos a partir de casos de teste existentes a fim de garantir a consistência da geração de casos de teste a partir de requisitos. Exploramos essa abordagem para definir uma estratégia consistente (sound) de geração de casos de teste que considere a quiescência. No entanto, do ponto de vista prático (de implementação), este processo é bastante oneroso. Como alternativa, propomos uma estratégia de geração de testes otimizada por meio da combinação de passos de teste, denominados de átomos. Esta estratégia visa simplificar o processo, extraindo diretamente novos casos de teste a partir dos existentes sem a necessidade de uma engenharia reversa que tende a ser complexa. Também abordamos a consistência (soundness) da abordagem otimizada mostrando a conexão com a abordagem original baseada em engenharia reversa. Implementamos suporte ferramental e conduzimos uma avaliação empírica da eficácia dos testes gerados. Analisamos a cobertura dos testes e o número de falhas durante a execução dos testes criados pelos engenheiros de nosso par- ceiro industrial, Motorola Mobility (uma empresa da Lenovo). As métricas adotadas foram então comparadas com aquelas obtidas dos testes gerados usando a abordagem proposta. Os resultados revelam que o conjunto de testes produzido por nossa abordagem apresenta uma cobertura significativamente maior e tem o potencial de identificar mais bugs em comparação com o conjunto criado pelos engenheiros da Motorola. | pt_BR |
dc.contributor.advisor-coLattes | http://lattes.cnpq.br/9171224058305522 | pt_BR |
Aparece en las colecciones: | Teses de Doutorado - Ciência da Computação |
Ficheros en este ítem:
Fichero | Descripción | Tamaño | Formato | |
---|---|---|---|---|
TESE Rafaela Goncalves de Almeida.pdf | 2,11 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este ítem está protegido por copyright original |
Este ítem está sujeto a una licencia Creative Commons Licencia Creative Commons