Uso de Testes Metamórficos para Verificação de Aplicação Chatbot
Testes Metamórficos; Teste de Software em Chatbots; Geração de Sentenças.
Chatbots são softwares que fazem uso de Inteligência Artificial (IA) para proporcionar a interação entre humanos e máquinas por meio de Linguagem Natural (NL), 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 que por vezes é 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 complexo, visto que não é simples definirmos 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 validaçã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 ser 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, nosso objetivo desse trabalho consiste em averiguar a aplicabilidade e efetividade de TM em aplicações chatbot desenvolvidas pela Dataprev, e estabelecer uma estratégia de teste para compor o ciclo de vida de desenvolvimento dessas aplicações.