Investigando o impacto da evolução de casos de uso em testes gerados no contexto de teste baseado em modelo.

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: SILVA, Anderson Gustafson Freire da.
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Campina Grande
Brasil
Centro de Engenharia Elétrica e Informática - CEEI
PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO
UFCG
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://dspace.sti.ufcg.edu.br:8080/jspui/handle/riufcg/12688
Resumo: Teste de Software é o processo que busca encontrar erros a partir da execução de um determinado sistema. Em outras palavras, intenta detectar divergências entre o comportamento atual e o pretendido para o software em desenvolvimento. No entanto, testar não é uma atividade trivial. Especialmente sistemas complexos, que demandam baterias de teste robustas, podem chegar a dedicar até 50%, do tempo utilizado no desenvolvimento, e dos recursos financeiros, para os testes. Teste Baseado em Modelo (TBM) pode facilitar esse processo, uma vez que viabiliza a geração automática de casos de teste a partir dos modelos que descrevem comportamentos ou funcionalidades do sistema sob teste. No contexto TBM, utilizando como modelos casos de uso descritos em linguagem natural, observamos que cerca de 86% da suíte gerada, para execução manual, se torna obsoleta ao evoluir os modelos do sistema e gerar uma nova suíte. Tais evoluções dos modelos podem ser decorrentes de alterações de requisitos, elicitação incorreta dos requisitos, ou então refatoração para melhorar a qualidade do caso de uso. Além disso, detectamos que parte desses testes, aproximadamente 52%, se tornam obsoletos por correções gramaticais ou melhoria de escrita, não alterando o comportamento do sistema, e, podendo ser reutilizados sem muito esforço. Descartar tais testes implica na perda de seus dados históricos (e.g., histórico de execução/resultados e versão utilizada do sistema). Baseado nisso, o objetivo deste trabalho é buscar identificar automaticamente testes impactados por modificações de aspecto sintático, inseridas durante as evoluções dos modelos do sistema, facilitando o reúso e preservação dos dados históricos.