
10 de fevereiro de 2026
Automação de testes em sistemas bancários baseada em análise de dados
Sarah de Campos Oliveira; Henrique Raymundo Gioia
Resumo elaborado pela ferramenta ResumeAI, solução de inteligência artificial desenvolvida pelo Instituto Pecege voltada à síntese e redação.
A evolução tecnológica transforma os modelos de negócio, especialmente no setor financeiro; a digitalização é imperativa para a competitividade (Lima, 2023). A adoção de tecnologias para desenvolvimento ágil e seguro é fundamental para o funcionamento dos sistemas (Sohn & Tadisina, 2008). O setor bancário exige alta robustez e segurança devido ao volume de dados sensíveis e às regulamentações (Fernando, 2015). A ciência de dados e a automação de testes emergem como pilares estratégicos, sendo a validação um componente crítico para o sucesso de sistemas de alta performance (Mann et al., 2019). A crescente complexidade dos sistemas torna os métodos de verificação manuais lentos, onerosos e propensos a erros (Santos, 2016), reforçando a necessidade da automação de testes. A automação aplica ferramentas para replicar a interação do usuário em ambientes controlados que espelham a produção (Jorgensen, 2013).
Ferramentas como Selenium, em conjunto com metodologias como Behavior Driven Development (BDD), permitem simular interações humanas de forma automatizada, garantindo maior cobertura de testes e identificação ágil de falhas (Ali et al., 2024). O BDD, em particular, oferece uma vantagem estratégica ao utilizar uma linguagem natural (Gherkin) para descrever os cenários de teste. Isso facilita a comunicação e o alinhamento entre as equipes de desenvolvimento, qualidade e negócio, garantindo que os testes automatizados validem não apenas a funcionalidade técnica, mas também o cumprimento das regras de negócio, que são o cerne das operações financeiras. O problema de pesquisa emerge das limitações da validação manual em sistemas bancários, que, diante da necessidade de atualizações constantes, compromete a confiabilidade, a escalabilidade e a eficiência dos testes.
Para superar essas deficiências, o estudo investiga o uso de Web Scraping para extrair dados estruturados de ambientes internos. Essa técnica oferece uma abordagem para alimentar os sistemas de teste com informações realistas, sem comprometer dados sensíveis, permitindo a análise de um histórico de negócios para a criação de cenários de teste mais representativos. A dificuldade central não reside apenas na execução dos testes, mas na criação de uma massa de dados de teste que seja ao mesmo tempo abrangente e realista. Dados sintéticos ou criados manualmente muitas vezes não capturam as nuances e os casos de borda encontrados na operação diária, levando a uma falsa sensação de segurança. A extração de dados operacionais anonimizados resolve esse problema, permitindo que os testes simulem com alta fidelidade as condições do mundo real. A relevância do trabalho reside em sua aplicação prática, oferecendo um caminho estruturado para outras instituições.
O trabalho é um estudo de caso desenvolvido a partir da análise dos processos da equipe de testes de uma instituição bancária. O escopo foi delimitado ao módulo de transações do sistema bancário central. A metodologia incluiu o mapeamento da interface do sistema, extração e análise de dados operacionais, construção de roteiros de testes automatizados e validação dos resultados em ambiente controlado. Os dados foram fornecidos pela instituição e anonimizados para preservar a confidencialidade. A escolha do estudo de caso como método permitiu uma imersão profunda no contexto específico da organização, facilitando a identificação de desafios práticos e a proposição de uma solução customizada e diretamente aplicável, em vez de uma abordagem puramente teórica. A execução metodológica foi dividida em quatro fases distintas e sequenciais para garantir uma abordagem estruturada.
A primeira fase, de Planejamento e Mapeamento, envolveu a análise detalhada da interface do sistema alvo e a identificação dos elementos HTML cruciais para a interação. A segunda fase, de Coleta e Preparação de Dados, concentrou-se na aplicação da técnica de Web Scraping para extrair um volume significativo de dados de transações históricas e na subsequente limpeza e estruturação desses dados. A terceira fase, de Desenvolvimento da Automação, abrangeu a codificação dos scripts de teste utilizando Python, Selenium e a estrutura BDD do Behave, traduzindo os cenários de negócio em código executável. Finalmente, a quarta fase, de Execução e Análise de Resultados, consistiu na execução dos testes automatizados em um ambiente de homologação, na coleta de métricas de desempenho e na comparação direta com os benchmarks do processo manual.
Para o levantamento de dados, empregou-se a técnica de Web Scraping, adaptada para capturar elementos estruturais do código HTML do sistema bancário interno (Gudavalli & JayaLakshmi, 2025). A primeira etapa consistiu em mapear os elementos da página, como campos de entrada e botões, utilizando seus atributos (ID, Name, XPath) como localizadores para a automação (Garousi et al., 2013). A ferramenta de automação selecionada foi o Selenium, um framework de código aberto que simula ações humanas em um navegador e é compatível com Python (Chaubal, 2021), linguagem alinhada aos padrões da instituição. A escolha do Python foi estratégica, não apenas pela sua sinergia com o Selenium, mas também pelo seu robusto ecossistema de bibliotecas para análise de dados, como Pandas e NumPy, que foram essenciais na fase de tratamento e exploração dos dados extraídos.
Após o mapeamento, as variáveis extraídas de transações realizadas em um período de doze meses foram estruturadas em um arquivo CSV, servindo como base para os cenários de teste. A integração entre Web Scraping e automação reduziu o tempo de identificação manual dos elementos da interface (de Almeida & Batista, 2019). Os dados extraídos foram submetidos a uma análise exploratória para subsidiar a definição dos cenários de teste, aplicando técnicas como categorização, análise de frequência e segmentação (Behrens, 2003) para orientar decisões baseadas em evidências (Saifan, 2016). O número de cenários foi limitado estrategicamente para otimizar recursos e evitar custos de manutenção excessivos (Molinari, 2010). Essa priorização é fundamental, pois um excesso de testes de interface pode tornar a suíte de automação frágil e cara de manter.
A análise focou em identificar os padrões de uso mais comuns, os valores de entrada mais frequentes e os casos de borda que, embora raros, poderiam ter um impacto crítico no sistema.
Para a construção das automações, utilizou-se a estrutura Behave, uma ferramenta de BDD para Python (Reul et al., 2023) com sinergia com o Selenium. O BDD é uma prática ágil que define os comportamentos do sistema em linguagem natural, aproximando desenvolvedores e analistas de negócio (Gonzalez, 2022). O Behave controlou a execução dos testes e registrou os resultados de forma automatizada, gerando relatórios detalhados que serviram como evidência auditável do processo de validação. A etapa inicial do estudo mapeou 22 variáveis do módulo de transações, sendo 17 campos de entrada (como “Branch Code” e “Transfer Amount”) e 5 botões de comando (como “Save” e “New”). Este mapeamento foi a base para a interação automatizada.
A análise exploratória foi realizada sobre 101.706 transações de um período de 12 meses, organizadas em um arquivo CSV. O foco foi direcionado a cinco variáveis com maior variação, como “Source Code” e “Transfer Amount”.
A análise da variável “Source Code” revelou 12 produtos financeiros, mas os testes foram concentrados nos 5 mais negociados, como “Outgoing Customer Transfer” (FTDA), que representavam a maioria das operações. Esta decisão de focar nos produtos de maior volume foi um exemplo claro de como a análise de dados permitiu otimizar o esforço de teste, garantindo a cobertura das funcionalidades mais críticas para o negócio. Antes da análise exploratória, foi necessária uma etapa de pré-processamento dos dados contidos no arquivo CSV. Esta etapa envolveu a verificação de valores ausentes, a padronização de formatos de data e a conversão de tipos de dados para garantir a consistência e a precisão da análise subsequente. Por exemplo, campos numéricos como “Transfer Amount” foram limpos de caracteres não numéricos e convertidos para um formato de ponto flutuante, enquanto campos de data foram normalizados para o formato AAAA-MM-DD.
Essa preparação foi crucial para evitar erros de interpretação e garantir que as estatísticas geradas, como médias, medianas e distribuições de frequência, fossem confiáveis e representativas da realidade operacional do sistema.
A análise do intervalo entre a contratação (“Booking Date”) e a execução (“Activation Date”) mostrou que mais de 90% das operações ocorrem no mesmo dia, embora o sistema permita um intervalo de até 365 dias. Essa descoberta foi crucial para definir cenários de teste que cobrissem tanto os casos comuns quanto os extremos, validados com a equipe de negócio.
A análise dos valores de transação (“Transfer Amount”) revelou uma faixa de centavos a mais de 300 milhões de reais e confirmou que o sistema não permite valores nulos ou zero, originando um cenário de teste específico (Cenário6). A variável “Exchange Rate” apresentou variações inesperadas, e a equipe de negócio confirmou uma regra de validação que emite um aviso, mas não bloqueia a transação, o que gerou outro cenário de teste (Cenário10). Este último achado foi particularmente valioso, pois revelou uma regra de negócio que não estava claramente documentada nas especificações de teste existentes, demonstrando como a análise de dados operacionais pode descobrir comportamentos sistêmicos implícitos e garantir que eles sejam validados. Com base nessas análises, foram definidos 10 cenários de teste automatizados. Os cenários de 1 a 5 validaram o registro bem-sucedido de transações para cada um dos cinco principais produtos financeiros.
O Cenário6 testou a restrição de valor, tentando registrar uma transação com valor zero; o resultado esperado era a falha. O Cenário7 verificou a validação de campos obrigatórios, esperando uma mensagem de erro. O Cenário8 testou a imutabilidade do campo de agência, que não deve permitir alteração manual. O Cenário9 validou o caso extremo de uma transação com 365 dias entre a contratação e a execução. Por fim, o Cenário_10 testou a regra de negócio da taxa de câmbio, esperando que o sistema salvasse a operação com uma mensagem de aviso. Cada cenário foi documentado em formato Gherkin (Dado-Quando-Então), garantindo clareza e servindo como documentação viva do comportamento esperado do sistema. A automação foi implementada com o modelo BDD via Behave, convertendo roteiros em linguagem natural para scripts Python com a biblioteca Selenium.
A suíte completa dos 10 cenários foi executada em menos de cinco minutos, um contraste marcante com o processo manual, que levaria um analista de testes aproximadamente quatro horas para executar com o mesmo nível de detalhe e coleta de evidências. A execução demonstrou ganhos significativos em tempo, precisão, redução de esforço manual e risco de erro humano, além de permitir o reaproveitamento da estrutura para novos cenários. Os relatórios gerados automaticamente pelo Behave forneceram um registro claro e auditável de cada passo executado, incluindo capturas de tela em caso de falha, o que acelerou drasticamente o processo de diagnóstico e correção de defeitos. Este trabalho apresentou um modelo de automação de testes para um sistema bancário, integrando Web Scraping para coleta de dados e análise para a construção de cenários.
A solução foi avaliada como satisfatória em critérios de ganho de tempo, relevância dos cenários e potencial de replicação, obtendo aprovação da gerência. O mapeamento de elementos via Web Scraping foi eficiente, e a priorização orientada a dados foi crucial para criar testes que validaram as regras de negócio mais críticas e os fluxos de uso frequentes. A abordagem demonstrou que a qualidade do software não depende apenas da detecção de bugs, mas da validação contínua de que o sistema se comporta conforme as expectativas do negócio, e a automação guiada por dados reais é a forma mais eficaz de alcançar esse objetivo. Diante dos resultados, a instituição optou por expandir o projeto para outras áreas, incluindo sistemas de interface móvel, o que evidencia a escalabilidade da abordagem.
Essa decisão abre caminho para futuras melhorias, como a exploração de algoritmos de aprendizado de máquina para geração automática de cenários e a integração com outras ferramentas de automação. A integração contínua (CI/CD) é o próximo passo lógico; esses testes automatizados seriam executados automaticamente a cada nova versão do software, fornecendo feedback imediato aos desenvolvedores e garantindo que nenhum novo código introduza regressões.
Conclui-se que o objetivo foi atingido: demonstrou-se que a integração de métodos de coleta e tratamento de dados com a automação de testes contribui significativamente para a eficiência operacional e a melhoria da qualidade de um software bancário, superando as limitações do processo manual.
Referências:
Ali, H. M., Hamza, M. Y., & Rashid, T. A. 2024. A comprehensive study on automated testing with the software lifecycle. arXiv preprint arXiv:2405.01608.
Alsuwailem, G., & Alharbi, O. 2023. Utilizing Machine Learning for Predicting Software Faults Through Selenium Testing Tool. International Journal of Computations, Information and Manufacturing (IJCIM), 3(2), 13-27.
Bahad, S. A., Tadse, S., & Chandankhede, P. (2024, April). Optimizing Test Efficiency in Web Development with Selenium and Java. In 2024 IEEE 9th International Conference for Convergence in Technology (I2CT) (pp. 1-5). IEEE.
Behrens, J. T., & Yu, C. H. (2003). Exploratory data analysis. Handbook of psychology, 2, 33-64.
Campos, V. F. 2014. TQC -Controle da Qualidade Total no estilo japonês. Falconi Editora.
Chaubal, P. A. 2021. Mastering Behavior-Driven Development Using Cucumber: Practice and Implement Page Object Design Pattern, Test Suites in Cucumber, POM TestNG Integration, Cucumber Reports, and work with Selenium Grid (English Edition). BPB Publications.
da Silva, J. M., & Neto, J. M. A. (2024). O Papel dos Bancos de Dados em Projetos de Data Science: Como a Escolha do Banco de Dados Impacta a Eficiência das Análises. Prospectus (ISSN: 2674-8576), 6(2), 335-371.
de Almeida, R. S., & Batista, A. C. V. TÉCNICAS DE WEB SCRAP NA AUTOMAÇÃO DE TESTES PARA IDENTIFICAÇÃO DE ELEMENTOS EM SISTEMAS WEB LEGADOS OU COM AUSÊNCIA DE PADRONIZAÇÃO.
Fernando, S. D. (2015). Core Banking Systems and Business Intelligence for Effective Strategic Decision Making. 6th International Conference on Business and Information.
Galin, D. (2004). Software quality assurance: from theory to implementation. Pearson education.
Garousi, V., Mesbah, A., Betin-Can, A., & Mirshokraie, S. (2013). A systematic mapping study of web application testing. Information and Software Technology, 55(8), 1374-1396.
Gojare, S., Joshi, R., & Gaigaware, D. (2015). Analysis and design of selenium webdriver automation testing framework. Procedia Computer Science, 50, 341-346.
Gonzalez, R. S. S., Urribarri, D. K., & Larrea, M. L. 2022. Automation Tools for Web Testing. Beyond Selenium. JAIIO, Jornadas Argentinas de Informática, 8(3), 49-62.
Gudavalli, A., & JayaLakshmi, G. (2025). DYNAMIC WEB SCRAPING THROUGH SELENIUM WEBDRIVER IN PYTHON. International Journal of Humanities Education, 13(1), 12-18.
Islam, M. N., & Quadri, S. M. K. 2020. Framework for automation of cloud-application testing using selenium (facts). Adv Sci Technol Eng Syst J, 5(1), 226-232.
Jorgensen, P. C. 2013. Software testing: a craftsman’s approach. Auerbach Publications.
Leotta, M., Clerissi, D., Ricca, F., & Spadaro, C. (2013, March). Improving test suites maintainability with the page object pattern: An industrial case study. In 2013 ieee sixth international conference on software testing, verification and validation workshops (pp. 108-113). IEEE.
Lima, Emanuelly Pereira. O Impacto das fintechs no mercado bancário brasileiro. 2023. 20f. Trabalho de Conclusão de Curso (Bacharelado em Administração) – Universidade Federal do Maranhão, São Luis.
Mann, M., Tomar, P., & Sangwan, O. P. 2019. Automated software test optimization using test language processing. Int. Arab J. Inf. Technol., 16(3), 348-356.
McKinney, W. (2012). Python for data analysis: Data wrangling with Pandas, NumPy, and IPython. ” O’Reilly Media, Inc.”.
Melo, C. P. Caramori, E. J. 2001. PDCA Método de melhorias para empresas de manufatura – versão 2.0. Belo Horizonte: Fundação de Desenvolvimento Gerencial.
Meseguer, A. G. 1991. Controle e garantia da qualidade na construção. São Paulo: Siduscon – SP / Projeto/ PW.
Molinari, L. 2010 “Inovação e Automação de Testes de Software” 1ª Edição. São Paulo – SP.
Musliu, A., & Jashari, X. (2021). Software automated testing using bdd approach with cucumber framework.
Reul, J. P., Grube, T., Linßen, J., & Stolten, D. (2023). MODE. behave: A python package for discrete choice modeling. Journal of Open Source Software, 8(88), 5265.
Saifan, A. A., Alsukhni, E., Alawneh, H., & Sbaih, A. A. (2016). Test case reduction using data mining technique. International Journal of Software Innovation (IJSI), 4(4), 56-70.
Sangeetha, Y., Affroz, S., & Vardhan, G. V. (2024, April). Video Automation using Selenium and Cucumber Framework. In 2024 International Conference on Inventive Computation Technologies (ICICT) (pp. 1651-1654). IEEE.
Santos, D. B. D. 2016. Implantação de teste de software em empresa de pequeno porte: um estudo de caso.
Singh, I., & Tarika, B. 2014. Comparative analysis of open source automated software testing tools: Selenium, sikuli and watir. International Journal of Information & Computation Technology, 4(15), 1507-1518.
Sohn, C., & Tadisina, S. K. 2008. Development of e-service quality measure for internet-based financial institutions. Total Quality Management, 19(9), 903-918.
Zhao, W.; Zhang, L.; Zhang, Y. A survey of end-to-end testing tools for web applications. Journal of Software Engineering, v. 9, n. 3, p. 123–135, 2014. Compares various E2E testing tools, including Selenium and Cypress.
Resumo executivo oriundo de Trabalho de Conclusão de Curso de Especialização em Data Science e Analytics do MBA USP/Esalq
Saiba mais sobre o curso; clique aqui:





































