Uso de testes metamórficos para verificação de aplicação chatbot

Detalhes bibliográficos
Ano de defesa: 2022
Autor(a) principal: Silva, Wallinson de Lima
Orientador(a): Barbosa, Eiji Adachi Medeiros
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 do Rio Grande do Norte
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA DA INFORMAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: https://repositorio.ufrn.br/handle/123456789/49527
Resumo: Chatbots são softwares que fazem uso de Inteligência Artificial para proporcionar a interação entre humanos e máquinas por meio de Linguagem Natural (LN), assemelhando- se a uma conversação entre duas pessoas. É um tema atual e que tem recebido bastante atenção nos últimos anos. Entretanto, esse tipo de aplicação apresenta um comportamento imprevisível, pois diferentes usuários podem solicitar um mesmo conjunto de ações de diferentes maneiras e a aplicação pode retornar algo diferente para cada um dos usuários. Isso torna a atividade de teste de software algo complexa, visto que não é simples definir o oráculo de testes. O oráculo de teste é o processo que verifica o resultado do teste, julgando a resposta da aplicação, programa ou função como correta ou incorreta mediante especificação e planejamento. Neste cenário, uma técnica de teste apropriada para lidar com o problema do oráculo é o Teste Metamórfico (TM). Essa técnica foi proposta como uma solução para minimizar o problema de definição de oráculo, pois o processo de verificação da resposta da aplicação é feito pela definição de Relações Metamórficas (RMs), elementos que assumem o papel do oráculo. As relações metamórficas são propriedades da aplicação objeto de teste que definem o comportamento que a aplicação deve manter quando submetida a um determinado caso de teste. Todavia, apesar de Testes Metamórficos serem uma técnica bem estabelecida para lidar com o problema da falta de um oráculo de testes, ela ainda é pouco explorada no contexto de chatbots. Dessa forma, o objetivo desse trabalho consistiu em averiguar a aplicabilidade e efetividade da técnica de TM em uma aplicação chatbot desenvolvida por uma empresa pública. Para tanto, foi necessário o desenvolvimento de uma ferramenta para automatização do processo de teste aplicando os conceitos do TM. Para a avaliação da técnica foram selecionados 22 Casos de Teste de Origem (CTOs) divididos em 3 Intenções e imputamos essa informação na ferramenta de automação para execução dos testes das 20 Relações Metamórficas. Por meio da execução da ferramenta, foi possível gerar mais de 4100 Casos de Teste Acompanhamento (CTAs), derivados dos CTOs. A verificação ocorreu em duas baterias de teste utilizando duas versões da mesma aplicação com 3 meses de diferença de desenvolvimento. Com a aplicação da técnica de TM foi observado que 25% dos CTAs revelaram defeitos, representando mais de 900 CTAs reprovados, por versão testada.