Pós-Graduação em Ciência da Computação – UFPE
Defesa de Tese de Doutorado Nº 634
Aluno: Rafaela Gonçalves de Almeida
Orientador: Prof. Augusto Cezar Alves Sampaio
Coorientador: Prof. Sidney de Carvalho Nogueira (UFRPE)
Título: Sound Test Case Generation for Concurrent Features Combining Test Cases for Individual Features
Data: 19/08/2024
Hora/Local: 9h – Virtual – Interessados em assistir entrar em contato com a aluna
Banca Examinadora:
Prof. Alexandre Cabral Mota (UFPE / Centro de Informática)
Prof. Juliano Manabu Iyoda (UFPE / Centro de Informática)
Prof. Breno Alexandro Ferreira de Miranda (UFPE / Centro de Informática)
Profa. Simone do Rocio Senger de Souza (USP ICMC-São Carlos / Departamento de
Sistemas de Computação)
Prof. Eduardo Henrique da Silva Aranha (UFRN / Departamento de Informática e Matemática Aplicada)
RESUMO:
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 po-
dem apresentar uma ampla variedade de interações e comportamentos difíceis de serem
reproduzidos, dificultando 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ícitas 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 aplicativos 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 precondições não atendidas. Além disso, abordamos a consistência (soundness) da abordagem 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). Uma vez que os requisitos nem sempre estão disponíveis, um processo de engenharia reversa pode ser necessário para gerar requisitos a partir de casos de teste existentes, tornando o processo 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 informações relevantes 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 formal. Fornecemos suporte ferramental para todas as fases da abordagem proposta 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 parceiro 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 poten-
cial de identificar mais bugs em comparacão com o conjunto criado pelos engenheiros da
Motorola.
Palavras-chave: Teste concorrente; teste baseado em modelo; quiescência
Comentários desativados