REGISTRO DOI: 10.69849/revistaft/pa10202511151938
Gabriel Mendes Dias1
Felipe Diniz Dallilo2
Fabiana Florian3
RESUMO
O campo de testes de software enfrenta desafios de complexidade e escala com a evolução tecnológica, tornando os testes unitários cruciais para a garantia da qualidade e para evitar falhas de alto impacto. Buscou-se analisar a importância do teste unitário para a robustez dos sistemas e validar o potencial da Inteligência Artificial (IA) na sua automação. Realizou-se uma pesquisa bibliográfica focada em testes de software e um estudo comparativo prático em que a função Crivo de Eratóstenes foi fornecida a três ferramentas de IA Generativa (Gemini, ChatGPT e GitHub Copilot) para gerar suítes de testes unitários em Python. Os resultados mostraram que a implementação do teste unitário, acelerada pela IA, resulta na detecção precoce de falhas. Embora todas as IAs tenham gerado testes funcionais com tempo de execução mínimo, houve variação na qualidade e robustez. O ChatGPT destacou-se pela maior cobertura lógica ao incluir testes para números negativos, um caso de borda essencial em algoritmos matemáticos. Já o GitHub Copilot apresentou a melhor qualidade de código ao usar o framework pytest e a parametrização para cobrir cinco tipos de entradas inválidas em uma única estrutura, demonstrando maior inteligência na robustez de entrada. Conclui-se que a IA é um poderoso acelerador de testes, otimizando a criação, mas a revisão e validação humana permanecem essenciais para garantir a cobertura de cenários críticos e a adesão às melhores práticas de codificação.
Palavras-chave: Teste Unitário; Inteligência Artificial; Qualidade de Software; Automação de Testes; Crivo de Eratóstenes.
ABSTRACT
The field of software testing faces complexity and scale challenges due to technological evolution, making unit testing crucial for quality assurance and preventing high-impact failures. This study aimed to analyze the importance of unit testing for system robustness and to validate the potential of Artificial Intelligence (AI) in its automation. A bibliographic review on software testing was conducted, followed by a practical comparative study where the Sieve of Eratosthenes function was provided to three Generative AI tools (Gemini, ChatGPT, and GitHub Copilot) to generate unit test suites in Python. The results confirmed that unit testing implementation, accelerated by AI, leads to early fault detection. Although all AIs generated functional tests with minimal execution time, quality and robustness varied significantly. ChatGPT stood out with the highest logical coverage by explicitly including tests for negative numbers, an essential edge case in mathematical algorithms. In contrast, GitHub Copilot delivered the highest code quality by using the pytest framework and parametrization to cover five types of invalid inputs within a single structure, demonstrating superior intelligence in input robustness. It is concluded that AI is a powerful testing accelerator, optimizing creation, but human review and validation remain essential to ensure critical scenario coverage and adherence to coding best practices.
Keywords: Unit Test; Artificial Intelligence; Software Quality; Test Automation; Sieve of Eratosthenes.
1 INTRODUÇÃO
Nos últimos anos, o campo dos testes de software tem recebido atenção devido à sua importância na garantia da qualidade dos sistemas de software. De acordo com Pressman (2016), a garantia da qualidade de software consiste na aplicação de técnicas e metodologias sistemáticas que asseguram que o produto final esteja em conformidade com os padrões estabelecidos. Nesse sentido, os testes de software referem-se ao processo de avaliar um sistema ou aplicativo para verificar se ele atende aos requisitos e funciona conforme o esperado.
A rápida evolução das tecnologias e a crescente complexidade dos sistemas de software apresentam novos desafios para a eficácia dos métodos de teste, tornando práticas fundamentais, como os testes unitários, ainda mais cruciais. Por exemplo, sistemas distribuídos em nuvem, aplicações móveis que precisam se integrar com múltiplas APIs, e plataformas baseadas em microsserviços exigem testes mais sofisticados que vão além das abordagens manuais ou de scripts pré-definidos.
Diante deste cenário, busca-se responder a seguinte questão: Qual a importância do teste unitário para a garantia da qualidade de software e como sua aplicação na prática contribui para a robustez e confiabilidade dos sistemas?
Os testes de software também enfrentam dificuldades diante das novas tecnologias; destacam-se, entre elas:
Complexidade e Escala, onde os métodos tradicionais se tornam insuficientes. De acordo com Bertolino (2007), esse cenário é ainda mais crítico em ambientes distribuídos e altamente interconectados, nos quais abordagens clássicas não conseguem escalar de maneira eficiente. Outra dificuldade é o Custo e Tempo, pois métodos tradicionais, especialmente os manuais, são caros e demorados, tornando-se um dos principais fatores de atrasos e elevação dos custos no ciclo de desenvolvimento, conforme ressaltado por Myers (1979).
Tais complexidades e a necessidade de aprimoramento nas práticas de teste se justificam quando são observadas as consequências de falhas de software na história recente, que resultaram em perdas significativas de vidas e recursos. Entre os casos mais emblemáticos, destacam-se a missão israelense Israel Beresheet (2019) , o Boeing 737 Max (2018–2019) , o vazamento de dados da Equifax (2017) , e a perda de US$ 440 milhões da Knight Capital Group (2012).
A hipótese deste trabalho é que a implementação de testes unitários desde as fases iniciais do desenvolvimento de software resulta-rá na detecção precoce de falhas, melhorando a qualidade do código e facilitando a manutenção e a refatoração. A aplicação de testes unitários, como parte de uma estratégia de testes mais ampla, tem o potencial de identificar falhas e defeitos de maneira mais rápida e precisa, reduzindo o tempo necessário para os testes e aumentando a cobertura dos mesmos.
Para validar essa hipótese, foi realizada uma pesquisa bibliográfica em testes de software, com ênfase em abordagens clássicas e, especialmente, nos testes unitários. Além disso, foi realizada a implementação de um código de teste unitário em Python para demonstrar sua eficácia na prática.
Este trabalho também se propõe a examinar as lacunas existentes nos testes de software, identificando áreas que necessitam de maior atenção e investigação. Espera-se contribuir para o avanço do conhecimento nessa área da engenharia de software, além de oferecer uma visão abrangente e atualizada da literatura dos testes de software e das experiências obtidas, destacando tanto os avanços recentes quanto os desafios que ainda precisam ser superados.
2 REVISÃO BIBLIOGRÁFICA
Foi realizada uma breve revisão bibliográfica sobre testes de software. A literatura apresenta estudos desde os primórdios da engenharia de software na década de 1970 até as metodologias mais recentes dos anos 2020. Essa revisão considera pesquisas clássicas como as de Myers (1979), que enfatizam a necessidade de testes sistemáticos, até estudos contemporâneos que exploram práticas ágeis e automação de testes, refletindo a constante evolução do campo.
Os métodos clássicos, como testes manuais e testes baseados em scripts, têm sido amplamente utilizados devido à sua simplicidade e facilidade de implementação. No entanto, à medida que os sistemas de software se tornaram mais complexos e interconectados, as limitações desses métodos se tornaram evidentes. Estudos, como o de Myers (1979) e a pesquisa mais recente de Lee et al. (2020), indicam que os testes manuais são propensos a erros humanos e não conseguem acompanhar as mudanças rápidas nos requisitos de software. Além disso, os scripts de teste tradicionais são inflexíveis e exigem manutenção constante, o que aumenta os custos e o tempo de desenvolvimento.
Avanços recentes na área de engenharia de software têm levado à integração de novas abordagens, como a Inteligência Artificial, para otimizar os processos de teste. O uso de IA em testes de software é um campo promissor que busca superar as limitações de métodos tradicionais e até mesmo de testes automatizados convencionais. ZHANG, LI e WANG (2021),
por exemplo, discutem o potencial do aprendizado de máquina na predição de falhas de software, o que permite direcionar os esforços de teste de forma mais inteligente. Ferramentas baseadas em IA podem analisar o código para identificar áreas de maior risco, ou até mesmo gerar automaticamente casos de teste complexos. Essa capacidade de aprendizado e adaptação é a próxima fronteira para a garantia da qualidade de software, complementando a base sólida dos testes unitários.
Em contraste, o teste unitário surge como uma abordagem fundamental e promissora para superar essas limitações. O teste unitário é uma prática de teste de software que se concentra em verificar a menor parte testável de uma aplicação, conhecida como “unidade”. O objetivo é isolar uma parte do código para garantir que ela funcione conforme o esperado, antes de integrá-la a outras partes do sistema. Essas técnicas, ao serem automatizadas, como enfatizado por Aniche (2015), reduzem a necessidade de intervenção manual e melhoram a eficiência e a precisão.
Rios e Moreira Filho (2013) fornecem uma visão histórica detalhada, destacando a evolução dos testes de software ao longo das últimas décadas. Nas décadas de 1960 e 1970, os testes eram frequentemente considerados atividades secundárias. Com o avanço dos anos 1980, os testes passaram a ser vistos como parte integrante do ciclo de desenvolvimento, com atividades formalizadas e metodologias estruturadas. Essa transformação foi impulsionada pelo aumento da complexidade dos sistemas e pela necessidade de reduzir erros críticos antes da entrega. Eles também sugerem que a evolução histórica dos testes oferece lições importantes para práticas modernas, como a necessidade de automação, integração contínua e monitoramento constante, que são essenciais para lidar com os desafios dos sistemas atuais.
Martins (2016) complementa essa perspectiva, destacando a importância da Revisão Técnica Formal (RTF) como uma prática para melhorar a eficiência das atividades de inspeção e a qualidade do software. A RTF consiste em uma avaliação sistemática de documentos, código ou outros artefatos do software.
Souza (2018) aborda conceitos fundamentais dos testes de desempenho de software, como testes de carga, estresse e pico de estresse. Ele destaca a importância desses testes para avaliar o comportamento do sistema sob diferentes condições, especialmente em sistemas web.
Aniche (2015) enfatiza a importância dos testes automatizados de software como uma ferramenta essencial para identificar problemas na implementação de forma rápida e eficiente.
Diferentemente dos testes manuais, que dependem da execução humana e estão mais sujeitos a erros, os testes automatizados conseguem detectar rapidamente falhas durante o desenvolvimento, contribuindo para ciclos de entrega mais ágeis e para a manutenção da qualidade do software ao longo do tempo.
Kaner, Falk e Nguyen (2001) discutem o teste de software como o processo de assegurar que um programa atenda aos requisitos de design, funcione conforme esperado, possa ser implementado com as mesmas características e satisfaça as necessidades dos usuários. Por fim, Bertolino (2007) aborda as realizações históricas e desafios contínuos no campo dos testes de software, oferecendo uma visão sobre o futuro da área. Ele enfatiza a necessidade de adaptação às novas tecnologias e metodologias de desenvolvimento de software.
3 IMPLEMENTAÇÃO DE TESTE UNITÁRIO UTILIZANDO INTELIGÊNCIA ARTIFICIAL
Para demonstrar a eficácia dos testes unitários na prática e validar o potencial da Inteligência Artificial em seu desenvolvimento, foi realizado um estudo comparativo. O mesmo código-fonte (a função Crivo de Eratóstenes) foi fornecido a três diferentes ferramentas de IA Generativa( Gemini, ChatGPT e GitHub Copilot) com a instrução de gerar um teste unitário abrangente em Python. A análise subsequente visa comparar a qualidade, a cobertura de código e a robustez dos testes gerados por cada modelo.
3.1 METODOLOGIA DO ESTUDO COMPARATIVO
Para demonstrar a eficácia dos testes unitários na prática e validar o potencial da Inteligência Artificial em seu desenvolvimento, foi realizado um estudo comparativo. O mesmo código-fonte (a função Crivo de Eratóstenes, detalhada na Seção 3.2) foi fornecido a três diferentes ferramentas de IA Generativa Gemini, ChatGPT e GitHub Copilot com a instrução de gerar uma suíte de testes unitários abrangente em Python. A análise subsequente visa comparar a qualidade, a cobertura de código e a robustez dos testes gerados por cada modelo, avaliando sua capacidade de identificar automaticamente casos de borda e entradas inválidas.
3.2 FUNÇÃO A SER TESTADA: O CRIVO DE ERATÓSTENES
A unidade de código a ser testada é uma função chamada “crivo_de_eratostenes”(Imagem 1), que utiliza o algoritmo do Crivo de Eratóstenes para encontrar todos os números primos até um número “n” fornecido.
Imagem 1: Implementação da função crivo_de_eratostenes

A função crivo_de_erastotenes(Imagem 1) é um algoritmo eficiente para encontrar números primos. O código funciona da seguinte maneira:
- Primeiro, ele cria uma lista onde todos os números são considerados primos.
- Em seguida, ele repete a partir do número 2, marcando todos os seus múltiplos como “não primos”.
- Este processo se repete para cada número que ainda é considerado primo, eliminando todos os seus múltiplos da lista.
- Ao final, a função retorna uma lista com os números que permanecem marcados como primos.
3.3 CÓDIGO DE TESTE GERADO POR GEMINI
O código de teste unitário para a função crivo_de_eratostenes(Imagem 1) foi gerado com a assistência de uma ferramenta de Inteligência Artificial(Gemini), que analisou a lógica da função e sugeriu cenários de teste abrangentes, incluindo casos de borda e entradas inválidas.
Imagem 2 – Implementação do Teste Unitário Gerada pelo Gemini.

O teste unitário foi criado para verificar se a função crivo_de_eratostenes(Imagem 1) está funcionando corretamente. O código de teste inclui:
- test_numeros_pequenos e test_numeros_maiores: Verificam se a função retorna a lista correta de primos para entradas esperadas.
- test_casos_borda: Testa casos críticos como 0, 1 e 2 para garantir que a função lida com eles de forma correta.
- test_entrada_invalida: Garante que a função levanta um erro apropriado quando recebe uma entrada que não é um número.
Esta suíte de testes valida a lógica do algoritmo em diferentes cenários, confirmando sua confiabilidade.
3.4 CÓDIGO DE TESTE GERADO POR CHATGPT
Em seguida, o mesmo input (a função crivo de eratóstenes) foi fornecido ao ChatGPT, a fim de comparar a abrangência de sua geração de testes com a do Gemini. O modelo de linguagem gerou a seguinte suíte de testes unitários (Imagem 3), que demonstra algumas diferenças notáveis na abordagem de validação.
Imagem 3 – Implementação do Teste Unitário Gerada pelo Chatgpt

O código de teste gerado pelo ChatGPT(Imagem 3) mostra uma abordagem mais detalhada em casos de borda e validação de resultados. Os testes incluem:
- test_primos_ate_10, test_primos_ate_2, test_primos_ate_1 e test_primos_ate_0: Cobrem a funcionalidade principal e os valores limite inferiores, garantindo que a lista vazia seja retornada para entradas não primas ou inválidas.
- test_primos_ate_negativo: Valida que a função lida corretamente com números negativos, garantindo que o retorno seja uma lista vazia, o que é um ponto importante de robustez.
- test_tipo_invalido_string e test_tipo_invalido_float: Garantem que a função levanta o erro TypeError para entradas não numéricas e flutuantes, similar à abordagem do Gemini.
- test_primos_grande: Este teste é uma asserção importante para a corretude, pois verifica se um primo conhecido (97) está na lista de primos até 100 e se um não-primo (99) não está.
Por fim, a função crivo_de_eratostenes foi fornecida ao GitHub Copilot. Diferentemente dos modelos anteriores, o Copilot optou por gerar a suíte de testes utilizando o framework pytest, conhecido por sua sintaxe concisa e pelas funcionalidades avançadas de parametrização. Essa escolha representa uma diferença metodológica importante a ser analisada.
Imagem 4 – Implementação do Teste Unitário Gerada pelo Github Copilot

(Fonte, Autor,2025)
O teste de código na Imagem 4 foi gerado pelo Copilot difere drasticamente em sua estrutura e apresenta alta eficiência:
- Uso de pytest e Parametrização: A funcionalidade @pytest.mark.parametrize permite que múltiplos cenários de teste sejam executados com a mesma função, tornando o código mais limpo e conciso.
- test_primos_validos: Cobre todos os casos válidos e de borda inferiores (10, 2, 1 e 0), validando a funcionalidade principal em uma única função.
- test_entrada_invalida: A parametrização foi utilizada para cobrir cinco tipos diferentes de entradas inválidas em uma única estrutura de teste (strings, floats, None, listas e dicionários), demonstrando alta Robustez na validação de erros.
4 RESULTADOS: ANÁLISE COMPARATIVA DAS FERRAMENTAS DE IA
A análise dos códigos de teste gerados pelas três ferramentas de Inteligência Artificial é o principal resultado prático deste trabalho, permitindo avaliar a eficácia e a qualidade de cada modelo na automação de testes unitários.
4.1 CRITÉRIOS DE AVALIAÇÃO
Para a comparação, as suítes de teste geradas por Gemini, ChatGPT e GitHub Copilot (Imagem 2, 3 e 4, respectivamente) foram avaliadas com base nos seguintes critérios:

Tabela 1: Comparativo das Suítes de Testes Unitários Geradas por IA

(Fonte: Autor, 2025)
4.2 ANÁLISE DOS RESULTADOS
A Análise dos Resultados práticos valida a hipótese de que a IA pode ser uma ferramenta poderosa para a automação de testes unitários. A Tabela 1 revela que, no critério de Tempo de Execução, todos os modelos obtiveram resultados mínimos (0.001s e 0.002s). Essa uniformidade demonstra a alta eficiência inerente à execução de testes unitários em Python, independentemente do modelo de IA que gerou o código. No entanto, o foco da análise concentra-se na qualidade e inteligência do teste gerado, que variou significativamente entre os modelos, principalmente nos critérios de Cobertura e Robustez.
A análise detalhada dos resultados práticos valida a hipótese de que a IA pode ser uma ferramenta poderosa para a automação de testes unitários, mas revela diferenças significativas na qualidade do código gerado:
- Cobertura e Corretude: Todos os três modelos alcançaram uma alta cobertura, com ChatGPT e Copilot gerando testes que, hipoteticamente, cobririam 100% do algoritmo, incluindo a lógica do loop e a validação inicial. O ChatGPT foi o mais explícito em garantir a corretude ao testar o número primo 97 (assertIn) e o número composto 99 (assertNotIn) em seu test_primos_grande.
- Qualidade: O GitHub Copilot se destacou no critério de Qualidade ao optar pela biblioteca pytest, utilizando o recurso de @pytest.mar.parametrize. Essa abordagem é vista como um padrão moderno em desenvolvimento Python por sua concisão, o que reduz a verbosidade do código de teste e facilita a manutenção.
- Robustez (Precisão): O critério de Robustez foi onde os modelos apresentaram a maior variação. Enquanto o Gemini e o ChatGPT incluíram testes para TypeError, o ChatGPT foi o único a adicionar explicitamente a asserção para números negativos (test_primos_ate_negativo), um caso de borda essencial em algoritmos matemáticos. Por outro lado, o Copilot demonstrou maior inteligência na Robustez de Entrada ao parametrizar cinco tipos diferentes de entradas inválidas (strings, floats, None, lista e dicionário) em uma única estrutura, tornando seu teste de erro o mais abrangente.
4.3 CONCLUSÃO DA ANÁLISE
O estudo comparativo demonstra que, embora todos os modelos de IA consigam gerar testes funcionais (confirmado pelo tempo de execução mínimo), a qualidade final e a robustez dependem do modelo. ChatGPT gerou o teste com a maior cobertura lógica de casos de borda e números negativos. No entanto, o GitHub Copilot apresentou o teste de maior qualidade e melhor adaptado a práticas modernas de desenvolvimento, demonstrando que a IA pode não apenas automatizar o teste, mas também otimizar a estrutura do código. Os resultados confirmam a eficácia da IA como um acelerador de testes, mas ressaltam a necessidade de revisão e validação humana para garantir que todos os cenários críticos e o estilo do código sejam atendidos.
5 CONCLUSÃO
O presente trabalho teve como objetivo analisar a importância dos testes de software no cenário atual e validar a eficácia dos testes unitários como uma prática fundamental para a garantia da qualidade. A pesquisa bibliográfica mostrou que, embora os métodos clássicos de teste tenham sido importantes historicamente, eles são insuficientes para a complexidade dos sistemas modernos. A literatura revisada, incluindo estudos de Myers (1979) e Bertolino (2007), reforçou que a automação e as práticas ágeis são essenciais para superar os desafios de custo, tempo e erros humanos.
A implementação do algoritmo do Crivo de Eratóstenes serviu como base para um estudo comparativo prático entre modelos de Inteligência Artificial (IA) na geração de testes unitários. Os resultados confirmaram a hipótese inicial: a aplicação do teste unitário desde as fases iniciais resulta na detecção precoce de falhas. O estudo demonstrou que a IA é um poderoso acelerador desse processo, mas com variações na qualidade. O modelo ChatGPT se destacou na cobertura de casos de borda lógicos (como números negativos), enquanto o GitHub Copilot apresentou a maior Robustez na validação de entradas inválidas, além de utilizar o framework moderno pytest. Essa análise revela que, embora a IA otimize a criação de testes, a revisão e validação humana continuam sendo essenciais para garantir que os cenários mais críticos e o melhor estilo de código sejam adotados.
Em conclusão, este estudo oferece uma visão abrangente sobre o papel dos testes de software, destacando que a adoção de testes unitários não é apenas uma boa prática, mas uma necessidade para qualquer equipe de desenvolvimento. A implementação prática serviu para demonstrar que essa abordagem é um alicerce sólido para construir software de alta qualidade, minimizando os riscos de falhas que, como os exemplos na introdução ilustraram, podem ter consequências graves. O futuro dos testes de software está em práticas contínuas, automatizadas e, acima de tudo, que começam com a atenção a cada pequena “unidade” de código.
REFERÊNCIA BIBLIOGRAFIA
ANICHE, M. Testes Automatizados de Software: Um Guia Prático. São Paulo: Casa do Código, 2015.
APPSIERRA. 7 Software Failures Due To Lack Of Testing That Rocked The World. 2025. Disponível em: https://www.appsierra.com/blog/software-failures-due-to-lack-of-testing. Acesso em: 18 set. 2025.
BERTOLINO, A. Software Testing Research: Achievements, Challenges, Dreams. In: FUTURE OF SOFTWARE ENGINEERING (FOSE ’07), IEEE, 2007, Minneapolis. Proceedings… Minneapolis, IEEE, 2007. pp. 85-103.
CIO / OPKEY. Software Testing Lessons Learned From Knight Capital Fiasco. 13 ago. 2012. Disponível em: https://www.cio.com/article/286790/software-testing-lessons-learned-from-knight-capital-fiasco. html. Acesso em: 18 set. 2025.
EPIC. Equifax Data Breach. Disponível em: https://archive.epic.org/privacy/data-breach/equifax/. Acesso em: 18 set. 2025.
JOHNSON, M.; THOMPSON, S. Challenges in Maintaining Test Scripts: A Comprehensive Analysis. Journal of Software Testing, v. 34, n. 2, pp. 123-139, 2019.
KANER, C.; FALK, J.; NGUYEN, H. Q. Testing Computer Software. New York: Wiley, 2001.
LEE, J.; KIM, S.; PARK, H. Human Error in Manual Testing: A Quantitative Study. International Journal of Software Engineering, v. 45, n. 3, pp. 211-228, 2020.
MARTINS, M. D. C. Testes de Software. Rio de Janeiro: Estácio, 2016.
MYERS, G. J. The Art of Software Testing. New York: Wiley, 1979.
OPKEY. 7 Real-Life Business Disasters That Could Have Been Avoided With Test Automation. 3 out. 2023. Disponível em: https://www.opkey.com/blog/7-real-life-business-disasters-that-could-have-been-avoided-with-te st-automation. Acesso em: 18 set. 2025.
PRESSMAN, R. S. Engenharia de Software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016.
RIOS, E. T. M. F.; MOREIRA FILHO, T. Teste de Software: 3ª Edição revisada e atualizada. Rio de Janeiro: Alta Books, 2013.
SOUZA, T. S. Testes de Desempenho de Software: Teoria e Prática. In: ESCOLA REGIONAL DE SISTEMAS DE INFORMAÇÃO DO RIO DE JANEIRO, 5., 2018, Rio de Janeiro. Anais… Rio de Janeiro, 2018.
WIRED. What Boeing’s 737 MAX Has to Do With Cars: Software. 30 jun. 2019. Disponível em: https://www.wired.com/story/boeings-737-max-cars-software/. Acesso em: 18 set. 2025.
ZHANG, X.; LI, Y.; WANG, P. Machine Learning in Software Testing: Predicting Failures with Big Data. Journal of Advanced Computing, 2021.
1 Graduando do Curso Sistemas de Informação 2024 da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: gmdias@uniara.edu.br
2 Orientador. Docente Sistemas de Informação 2024 da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: fddallilo@uniara.edu.br
3 Coorientadora. Docente Curso de Sistemas de Informação 2024 da Universidade de Araraquara- UNIARA. Araraquara-SP. E-mail: fflorian@uniara.edu.br
