Investigando o impacto da evolução de casos de uso em testes gerados no contexto de teste baseado em modelo.
Ano de defesa: | 2019 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
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. |