Investigando o impacto da evolução de casos de uso em testes gerados no contexto de teste baseado em modelo. - SILVA, Anderson Gustafson Freire da. (2019)
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.