Programa de Pós-Graduação em Tecnologia da Informação
URI Permanente desta comunidadehttps://repositorio.ufrn.br/handle/123456789/27975
Navegar
Navegando Programa de Pós-Graduação em Tecnologia da Informação por Autor "Barbosa, Eiji Adachi Medeiros"
Agora exibindo 1 - 13 de 13
- Resultados por página
- Opções de Ordenação
Dissertação Avaliação da efetividade de uma suite de teste de sistema aplicada ao contexto do Middleware Ginga(2019-12-16) Pereira, Iuri Guerra de Freitas; Barbosa, Eiji Adachi Medeiros; ; ; Cafeo, Bruno Barbieri de Pontes; ; Kulesza, Uira;Qualidade de software tem se tornado um fator fundamental no processo de desenvolvimento de software atualmente. Conseguir mensurar a qualidade de tipos de testes diversos se torna hoje um desafio importante a ser atingido. A pesquisa realizada nesse estudo considerou a avaliação da efetividade de testes de sistemas realizados pela empresa MOPA Embedded Systems na utilização do middleware Ginga para TV Digital. Para realizar a avaliação da suite de teste de sistema executada pela empresa, foi proposta uma metodologia de avaliação da mesma através do critério de cobertura de código, seguida de um estudo exploratório para investigar possíveis motivos para os resultados obtidos da cobertura. Por fim foram realizados testes exploratórios com o objetivo de confirmar as descobertas provenientes da fase de estudo exploratório. Através dessas etapas, foi possível estabelecer um parecer sobre a qualidade dos testes realizados, bem como da automatização realizada pela empresa.Dissertação Avaliação da ferramenta EvoMaster na geração de casos de teste para aplicações REST(Universidade Federal do Rio Grande do Norte, 2024-04-25) Ramalho, Victor Hugo Freire; Kulesza, Uirá; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/1080756766300832; Barbosa, Eiji Adachi Medeiros; Coelho, Roberta de Souza; Cirilo, Elder José ReioliO teste de software desempenha um papel fundamental na garantia da qualidade e confiabilidade dos sistemas de software. Ao longo dos últimos anos, os sistemas web de média e larga escala tem sido desenvolvidos baseados em API REST. As APIs REST se destacam nesse cenário devido às suas características, como simplicidade, escalabilidade e independência de plataforma. Neste contexto, destaca-se uma ferramenta chamada EvoMaster por sua capacidade de gerar casos de teste automatizados de forma eficaz. Este estudo concentra-se em avaliar a eficácia dessa ferramenta na geração de casos de teste para aplicações REST, especialmente em ambientes de aplicações web de larga escala. A avaliação foi realizada no sistema web SigSaúde, um sistema representativo de tal ambiente, e parte dos resultados foram analisados em colaboração com um dos desenvolvedores do sistema. Os resultados do estudo mostram que a EvoMaster foi capaz de descobrir um número significativo de defeitos mesmo em um sistema robusto, apesar de revelar desafios relacionados à utilização quanto a testes de regressão com baixa cobertura do código e utilização com configuração difícil da ferramenta.Dissertação BPM2DDD: identicando domínios a partir de processos de negócio(Universidade Federal do Rio Grande do Norte, 2020-10-27) Gomes, Eduardo Luiz; Silva, Carlos Eduardo da; ; http://lattes.cnpq.br/0125036186628507; ; Barbosa, Eiji Adachi Medeiros; ; http://lattes.cnpq.br/8833409749475821; Pires, Paulo de Figueiredo; ; http://lattes.cnpq.br/1304174767727101O Design Orientado a Domínio (Domain-Driven Design - DDD) é cada vez mais adotado como uma forma particular de modelar sistemas. Dentre os padrões de design estratégico do DDD encontra-se o mapa de contexto, uma poderosa ferramenta que ajuda as equipes de desenvolvimento a entender o domínio de negócios. Mapas de contexto normalmente são criados a partir da análise de sistemas existentes, requisitos iniciais ou com base na experiência da equipe, podendo levar a construção de modelos de domínio que não espelham a realidade da organização. Nesse sentido, a análise dos modelos de processos de negócio se apresentam como uma alternativa para extrair informações de domínio e criar mapas de contexto, uma vez que estes modelos capturam a lógica das operações das organizações, fornecendo uma visão abrangente e de alto nível do negócio. No entanto, faltam abordagens para criação de mapas de contexto a partir de conhecimento de domínio extraído de modelos de processo de negócio. Dessa forma, esta pesquisa tem como objetivo propor a técnica BPM2DDD, uma abordagem para apoiar a identificação de domínios de informação e criação de mapas de contexto, que pode ser utilizada nas etapas de análise e modelagem de sistemas, servindo inclusive como alternativa para identificação de possíveis serviços de software. A técnica permite a identificação de domínios, subdomínios e contextos limitados, a partir da análise de modelos BPMN (Business Process Model and Notation). Esta técnica foi desenvolvida e aplicada em processos de negócio reais da Secretaria de Mobilidade Urbana da cidade do Natal (STTU), utilizando a metodologia pesquisa-ação, durante os anos de 2019 e 2020, no contexto de desenvolvimento dos novos sistemas de mobilidade urbana. Para avaliar a técnica foram realizadas múltiplas aplicações por analistas de negócio e sistemas, utilizando um dos processo de negócio da STTU, além de validações pelos especialistas de domínio do mapa de contexto gerado. Os resultados indicam que a técnica é aplicável em processos de software adotados pela indústria, permitindo a descoberta de informações que viabilizam a criação de um mapa de contexto mais alinhado ao domínio da organização.Dissertação Catálogo e ferramenta de detecção de Bad smells de desempenho em sistemas React(Universidade Federal do Rio Grande do Norte, 2023-06-23) Barros, Aryclenio Xavier; Barbosa, Eiji Adachi Medeiros; https://orcid.org/0000-0002-8286-0017; http://lattes.cnpq.br/8833409749475821; http://lattes.cnpq.br/5253783022587449; Cirilo, Elder José Reioli; Sousa, Leonardo da SilvaA linguagem Javascript é uma das mais famosas ferramentas de desenvolvimento da atualidade, ganhando visibilidade em diversas áreas como jogos web, renderizações tridimensionais, inteligência artificial e, principalmente, no desenvolvimento de aplicações web, com seu grande papel na construção de interfaces através do desenvolvimento front-end. Nesse ecossistema, foram construídas diversas bibliotecas e frameworks, sendo a mais famosa a biblioteca React, desenvolvida e publicada pela Meta (Facebook). As aplicações construídas em React, como qualquer outro sistema, precisam de se manter utilizáveis e relevantes ao longo do tempo. Como evidências empíricas mostram, a presença de bad smells no código pode comprometer a capacidade de evolução do software. Com base nesse contexto, este trabalho apresenta uma proposta de bad smells orientados à biblioteca React, integrando-os a uma ferramenta de detecção de código chamada ReactLint, que sinalizará falhas de código e indicará possíveis soluções aos desenvolvedores que a utilizarem. Este trabalho tem como objetivo validar os bad smells propostos, bem como a ferramenta construída, a fim de identificar se eles podem afetar o desempenho de uma aplicação React a curto prazo.Dissertação Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework(Universidade Federal do Rio Grande do Norte, 2020-08-31) Melo, Deyvisson Carlos Borges de; Barbosa, Eiji Adachi Medeiros; ; ; Kulesza, Uira; ; Santos Neto, Baldoino Fonseca dos;Para atender as constantes mudanças de requisitos e necessidades de novas funcionalidades, os sistemas de software permanecem sempre em um estado de constante evolução. O controle do processo de evolução e manutenção de um software é crucial e uma das fases mais complicadas do desenvolvimento de software. Se esse controle não for gerenciado, os sistemas correm o risco de degradação de importantes atributos de qualidade que consequentemente afetam diretamente o grau de manutenibilidade das aplicações. Fatores como inexperiência, falta de conhecimento e pressões em relação ao tempo de conclusão de tarefas levam a adoção de más práticas de design de software e são a origem dos Design Smells. Para se obter um melhor controle do processo de evolução e manutenção de um software, é importante saber identificar a ocorrência de Design Smells nos projetos, e novos estudos indicam que a utilização de informações específicas do contexto da aplicação, como a natureza dos programas ou papeis arquiteturais utilizados, podem influenciar no processo de detecção e na identificação de problemas que só existem no contexto estudado. Este trabalho realiza um estudo para a definição e identificação de Design Smells específicos ao contexto das aplicações de processamento em lotes, e propõe a definição de um catálogo de 7 Design Smells e a implementação de uma ferramenta para automatizar o processo de detecção. A ferramenta implementada foi utilizada em um estudo de caso em que os códigos de 40 sistemas foram analisados. Nesse estudo, observou-se que os smells específicos ao contexto das aplicações de processamento em lotes afetaram quase 20% das classes e mais que 30% das linhas de código dos sistemas analisados. Também foi possível observar, por meio da aplicação da ferramenta em várias versões de dois sistemas, que o número de smells se manteve constante ao longo das versões, e em alguns casos até cresceu. O que pode evidenciar a falta de conhecimento da existência dos smells e dos impactos negativos que podem incorporar nas aplicações.Dissertação Documentação de software: uma análise comparativa entre documentação tradicional e living documentation(Universidade Federal do Rio Grande do Norte, 2020-12-28) Silva, André Santiago da Fonseca; Barbosa, Eiji Adachi Medeiros; ; http://lattes.cnpq.br/8833409749475821; ; http://lattes.cnpq.br/3221668224060624; Cirilo, Elder; ; http://lattes.cnpq.br/4349166507859931; Kulesza, Uira; ; http://lattes.cnpq.br/0189095897739979Muitos times de desenvolvimento que trabalham com processos ágeis acabam por menosprezar a importância da documentação do software como ferramenta de apoio a capacidade de escalabilidade de suas soluções e de seu processo produtivo. Deixando de observar, de acordo com os valores ágeis, que embora software em funcionamento seja bastante valorizado, ter uma documentação abrangente também pode ser necessário. Em um ambiente de desenvolvimento caracterizado pela alta rotatividade de colaboradores e diversidade de domínios das soluções, o que muitas vezes observamos são equipes de desenvolvimento tentando adaptar atividades de Engenharia de Requisitos e documentação de software dos processos de desenvolvimento ditos tradicionais. Essa situação pode impactar no entendimento dos desenvolvedores quanto ao comportamento das funcionalidades do software, diminuindo o diferencial competitivo da equipe de desenvolvimento ágil. Nesta dissertação quantificamos o impacto que a documentação do software tem no entendimento dos desenvolvedores quanto ao comportamento das funcionalidades de software. Para isso, através de um experimento controlado, fizemos uma análise comparativa entre um tipo de documentação de software caraterístico dos processos de desenvolvimento tradicionais e a living documentation (documentação viva, em tradução livre) gerada a partir da estratégia de Desenvolvimento Orientado ao Comportamento (do inglês Behavior Driven Development - BDD). O estudo chegou a conclusão que, dado o contexto em que se desenvolveu, a documentação tradicional parece facilitar o entendimento quanto ao comportamento das funcionalidades por parte dos desenvolvedores, o que indica que a implantação da living documentation pode ter mais esse desafio a ser vencido na sua implantação.Dissertação Impacto da evolução de esquema de banco de dados na disponibilidade de software(Universidade Federal do Rio Grande do Norte, 2023-04-28) Silva, Willie Lawrence da Paz; Barbosa, Eiji Adachi Medeiros; https://orcid.org/0000-0002-8286-0017; http://lattes.cnpq.br/8833409749475821; 01663370486; http://lattes.cnpq.br/4952238446892909; Kulesza, Uira; https://orcid.org/0000-0002-5467-6458; http://lattes.cnpq.br/0189095897739979; Almeida, Rodrigo Bonifacio de; https://orcid.org/0000-0002-2380-2829; http://lattes.cnpq.br/0368311142108150Ao longo da vida de um software que utiliza um banco de dados relacional para armazenarinformações, observamos que a evolução natural da aplicação leva à alterações no esquemado banco de dados, que é a estrutura que define como as informações são armazenadas.Durante a execução das operações que são responsáveis por alterar o esquema do banco dedados podem ocorrer interrupções no acesso aos dados armazenados no banco de dados,fazendo com que uma aplicação em execução que depende desses dados fique inoperante atéque a operação de atualização do esquema seja finalizada. Nós chamamos essas operaçõesde atualização do esquema que causam interrupção no acesso aos dados de “operaçõesbloqueantes”. As operações bloqueantes são um problema particularmente em sistemasque não podem ser interrompidos, como é o caso de sistemas de monitoramento, sistemasde venda com alto volume de tráfego, aplicações governamentais etc. Nesse trabalho nósestudamos a evolução do esquema do banco de dados de uma aplicação do mundo real paraentender a natureza das operações de alteração de esquema e prever o impacto delas nadisponibilidade do software. Além disso, realizamos uma série de experimentos controladoscom o objetivo de analisar o impacto das operações bloqueantes na disponibilidade de umaaplicação em uso no momento da evolução do esquema. Por fim, nosso trabalho implementaalgumas soluções, sugeridas pelos praticantes da indústria, para resolver o problema dedisponibilidade dos dados durante a evolução do esquema. Assim, os mesmos conjuntos deexperimentos realizados foram repetidos num novo cenário onde as sugestões da indústriaforam implementadas. Nossos resultados mostram que as sugestões dos praticantes daindústria são eficientes até um determinado limite, de tal maneira que bancos de dadoscom um número muito grande de registros podem sentir uma diminuição considerável notempo de indisponibilidade do banco de dados, porém não o suficiente para o usuário finalde uma aplicação.Dissertação Integrando técnicas de recuperação de informações e agrupamento de relatórios de falhas para melhorar a localização de bugs em sistemas web(Universidade Federal do Rio Grande do Norte, 2024-04-29) Ataide, Miguel de Oliveira; Kulesza, Uirá; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/4087209426424576; Barbosa, Eiji Adachi Medeiros; Coelho, Roberta de Souza; Almeida, Rodrigo Bonifácio deA localização de bugs é uma tarefa desafiadora e cara que envolve enormes quantidades de dados, especialmente para grandes projetos. Muitas técnicas de localização de bugs baseada em recuperação de informações de linguagem natural foram propostas e aplicadas. No entanto, apenas algumas delas investigaram projetos industriais. Além disso, o atuais estudos do estado da arte demonstraram que se depende demasiadamente da qualidade dos artefatos de software envolvidos, em particular os bug reports e os arquivos do código-fonte. Outra abordagem para localização de bugs é o uso de agrupamento de relatórios de falha, que consolida a enorme quantidade de relatórios de falha em clusters, que ajudam a encontrar as causas de um bug. Nosso principal insight é que a combinação das ideias dessas abordagens podem melhorar a localização de bugs do atual estado da arte, especialmente para cenários de projetos industriais com artefatos de software realistas. Neste artigo, propomos LucyBug, uma técnica que integra recuperação de informações de linguagem natural e agrupamento de relatórios de falha para localizar os arquivos com bugs relacionados a um bug reportado. Realizamos experimentos em um grande sistema industrial, com foco na redução da dependência de artefatos de software de alta qualidade. Nossos melhores resultados mostraram que conseguimos encontrar arquivos com bugs em 68,17% dos casos, entre as 10 primeiras sugestões. Apresentamos também uma alternativa, que possui desempenho inferior ao método completo, mas não depende da semelhança textual entre arquivos de código-fonte e bug reports.Dissertação Investigando estratégias de teste de regressão: um estudo de caso na STI-UFRN(Universidade Federal do Rio Grande do Norte, 2022-07-18) Costa, Samuel Alves da; Medeiros, Sérgio Queiroz de; Coelho, Roberta de Souza; http://lattes.cnpq.br/9854634275938452; http://lattes.cnpq.br/0310395336626784; http://lattes.cnpq.br/4189452645637242; Barbosa, Eiji Adachi Medeiros; http://lattes.cnpq.br/8833409749475821; Almeida, Rodrigo Bonifacio de; Kulesza, UiráA Superintendência de Tecnologia da Informação - STI, é responsável por desenvolver e manter os sistemas computacionais da UFRN. Cada sistema possui equipes de testes responsáveis pelos testes de sistemas. Um destes sistemas é o Sistema Integrado de Gestão de Atividades Acadêmicas - SIGAA, ele possui mais de 5 mil casos de uso. A equipe de teste dele realiza testes exploratórios e de regressão manualmente, contudo, para um sistema desse porte, realizar teste de regressão manual é inviável, de modo que os testes de regressão acabam sendo feitos em quantidade pouco significativa, porém aumenta-los continuando da forma manual irá tirar a capacidade de fazer muitos outros testes exploratórios. Devido ao alto número de casos de uso, é inviável automatizar todos os testes de regressão. Assim, deseja-se realizar testes automatizados de regressão para funcionalidades que apresentam maiores chances de falhar e dessa forma encontrar indicadores que irão mostrar os casos de uso mais relevantes para terem os testes automatizados, permitindo assim que a equipe de testes possa focar nos testes exploratórios e, de maneira geral, expandir a cobertura dos testes sem precisar aumentar o número de membros da equipe. Dessa forma, esta pesquisa buscou estratégias de seleção de funcionalidades para construção de testes automatizados de sistemas por meio de um estudo de caso na STI-UFRN. A pesquisa identifica características de casos de uso do SIGAA que devem ter os testes automatizados priorizados; para isso foram realizados dois estudos que buscaram medir a influência de critérios como: diferentes complexidades da tela e de tempos da última alteração; e funcionalidades que demandaram maior tempo de testes manuais durante o período de um mês. Assim, os testes das funcionalidades escolhidas foram automatizados com o UI.Vision, considerando as classes de equivalência e happy path na construção deles. Com base nos resultados das execuções diárias destes testes, foi possível perceber que os critérios que apresentaram maior relevância para terem os testes automatizados foram: telas que dependem de serviços externos ao sistema e funcionalidades que demandaram muitos testes manuais recentemente.Dissertação MPRN em Dados: desenvolvimento de uma plataforma de organização de dados internos e externos ao Ministério Público do Rio Grande do Norte(Universidade Federal do Rio Grande do Norte, 2021-03-31) Oliveira, Leandro Silva Monteiro de; Lopes, Frederico Araújo da Silva; Cacho, Nelio Alessandro Azevedo; ; http://lattes.cnpq.br/4635320220484649; ; http://lattes.cnpq.br/9177823996895375; ; http://lattes.cnpq.br/9103649735211047; Barbosa, Eiji Adachi Medeiros; ; http://lattes.cnpq.br/8833409749475821; Almeida, André Gustavo Duarte de; ; http://lattes.cnpq.br/1800962258138555Este trabalho foi idealizado a partir de experiências no Ministério Público do Rio Grande do Norte (MPRN) quanto a criação de uma plataforma para organizar produtos de dados do MPRN. Desta forma, primeiramente foi realizado um mapeamento sistemático da literatura, com o intuito de buscar as melhores práticas relacionadas à publicação de dados, bem como processos ou metodologias já existentes, tais como outras iniciativas desenvolvidas por outros Ministérios Públicos. Os resultados foram, então, analisados. Após fazer a análise, verificou-se que existe a necessidade de melhoramento do processo de compartilhamento de dados por parte do Ministério Público. Sendo assim, foi desenvolvido um novo processo para apoiar o compartilhamento de dados através da plataforma MPRN em Dados. Após isso, foram realizados alguns estudos de casos com o intuito de verificar a utilidade do processo proposto, bem como identificar as dificuldades enfrentadas, avaliando sua eficiência geral e se realmente ele pode contribuir para melhorar a produtividade dentro do Ministério Público do RN auxiliando no processo de tomada de decisões.Dissertação Perda de conhecimento em projetos de software devido a rotatividade de profissionais de TI: um estudo na Universidade Federal de Viçosa - UFV(Universidade Federal do Rio Grande do Norte, 2023-04-20) Assunção, Lucas Novais; Barbosa, Eiji Adachi Medeiros; http://lattes.cnpq.br/8833409749475821; http://lattes.cnpq.br/3469339794292163; Figueira Filho, Fernando Marques; Fontão, Awdren de LimaO conhecimento é considerado um dos ativos estratégicos mais importantes para as organizações contemporâneas. Prusak (1997) destaca que “conhecimento e inteligência estão conectados: a inteligência é necessária para se gerar conhecimento e o conhecimento fornece a base através da qual a inteligência pode ser aplicada”. A Inteligência advém de pessoal qualificado que, apoiado pelos recursos de Tecnologia da Informação (TI), executa, gerencia e toma as melhores decisões para o bom desempenho das organizações, sejam elas públicas ou privadas. Pesquisas mostram que a rotatividade de profissionais de TI tornou-se um problema crônico e o déficit pode chegar a meio milhão até 2025, refletindo uma aceleração significativa da demanda deste setor. Além disso, formam-se no Brasil 53 mil pessoas ao ano – um terço da demanda projetada – e quase 50% dos já contratados nos últimos 12 meses tiveram duas ofertas de emprego adicionais, as quais são levadas em consideração e que pode vir a representar a saída voluntária da atual organização num curto ou médio prazo. A rotatividade de profissionais de TI acarreta diversos custos; minimizar e conter seus danos tornou-se um difícil e recorrente desafio para os gestores de Recursos Humanos, não somente por questões econômicas, mas sobretudo para a gestão e preservação do principal ativo imaterial diretamente responsável pelo sucesso de qualquer organização: o conhecimento. Este trabalho apresenta um estudo sobre perda e retenção de conhecimento na Universidade Federal de Viçosa (UFV), onde o fenômeno da rotatividade para o cargo de Técnico em Tecnologia da Informação nos anos de 2021 e 2022 foi considerado relevante. Ao final, foram propostas recomendações para mudanças e tratamento dos principais problemas que emergiram do contexto estudado. O objetivo geral é contribuir com melhorias para os projetos de TI desenvolvidos na organização, preservar a memória institucional e evitar eventuais perdas de recursos públicos.Dissertação Uma proposta de arquitetura para gestão de Atas de Registro de Preços(Universidade Federal do Rio Grande do Norte, 2022-07-29) Magalhães, Fábio Arruda; Barbosa, Eiji Adachi Medeiros; http://lattes.cnpq.br/8833409749475821; http://lattes.cnpq.br/2269282876059220; Fontão, Awdren de Lima; Cavalcante, Everton Ranielly de Sousa; https://orcid.org/0000-0002-2475-5075; http://lattes.cnpq.br/5065548216266121Os processos de compras e contratações são essenciais para atender as necessidades de funcionamento de qualquer organização, viabilizando dessa forma, o alcance dos seus objetivos. Essa realidade também é comum a todos os órgãos integrantes da Administração Pública. Ao contrário da iniciativa privada, as compras e contratações públicas devem ser realizadas obrigatoriamente através de licitações, garantindo ampla divulgação e transparência de suas informações. Com o passar do tempo, a legislação brasileira que trata sobre esse tema recebeu vários aperfeiçoamentos. O pregão eletrônico e o Sistema de Registro de Preços (SRP), por exemplo, foram importantes instrumentos que contribuíram para a modernização desse importante processo. Os contratos de fornecimento (Atas de Registro de Preços) que têm origem nos pregões eletrônicos realizados por SRP requerem dos gestores públicos um processo eficiente de gestão das informações para que o orçamento público seja executado de maneira otimizada. Entretanto, algumas informações relativas a esse domínio, constantes no Sistema de Administração de Serviços Gerais (SIASG), estão dispersas em módulos distintos, favorecendo a utilização de controles paralelos, propensos a problemas como redundância e inconsistência nos dados. Sem um local confiável para consultar essas informações, a tomada de decisão dos gestores pode ficar comprometida. Embora exista literatura sobre compras governamentais, ainda há pouco foco sob a perspectiva da arquitetura de software, razão pela qual não foi localizada solução para o problema. Nesta dissertação de mestrado, apresentamos a especificação, projeto e avaliação de uma arquitetura de software que tem como objetivo estruturar as informações essenciais à gestão de Atas de Registro de Preços, que visa contribuir com o processo de tomada de decisões relativos à aplicação de recursos orçamentários. A execução destas etapas teve como base um modelo de processo experimentado pela indústria, com algumas adaptações. O Design Science Research (DSR) foi o método de pesquisa que orientou a concepção do artefato proposto. O resultado das avaliações mostra que futuras instâncias da arquitetura proposta tem potencial para resolver os problemas identificados.Dissertação Uso de testes metamórficos para verificação de aplicação chatbot(Universidade Federal do Rio Grande do Norte, 2022-07-26) Silva, Wallinson de Lima; Barbosa, Eiji Adachi Medeiros; Kulesza, Uirá; http://lattes.cnpq.br/0189095897739979; http://lattes.cnpq.br/8833409749475821; http://lattes.cnpq.br/0893768070215855; Coelho, Roberta de Souza; http://lattes.cnpq.br/9854634275938452; Ferrari, Fabiano CutigiChatbots 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.