Automação na Gestão Aduaneira usando GXtest e GeneXus
Concepto é uma empresa uruguaia especializada no desenvolvimento de soluções integradas para o comércio exterior. Seu principal foco é o software aduaneiro. Entre seus desenvolvimentos mais importantes está a plataforma GIA (Gestão Integral Aduaneira), projetada para centralizar e otimizar o controle das operações de comércio exterior, incluindo a gestão de importações, exportações, trânsitos, cobrança de taxas e a administração de riscos associados.
O GIA garante dinamismo, segurança e transparência na interação com os órgãos aduaneiros da América Latina.
"O GIA deve funcionar 24 horas por dia, 365 dias por ano. Uma possível falha neste sistema pode paralisar toda a atividade relacionada ao comércio exterior de um país. Por isso é de vital importância que este sistema seja robusto", acrescenta Enrique Almeida, Engenheiro de Software e Diretor da Concepto.
Por esses motivos, era imperativo:
"Nossos desenvolvedores realizam commits diários no GXserver, e o Jenkins verifica automaticamente a cada hora se houve mudanças. Se detectar alguma, inicia o processo de build da Knowledge Base, o que leva aproximadamente uma hora. Além disso, todas as noites implantamos o sistema em um ambiente de testes, utilizando um banco de dados que é uma cópia do ambiente de produção do dia anterior. Em seguida, executamos os 140 fluxos automatizados, o que leva cerca de duas horas. Posteriormente, enviamos aos desenvolvedores um e-mail com o relatório de resultados gerado pelo Allure, informando tanto eles quanto os chefes de desenvolvimento sobre o estado do sistema. Com essa metodologia, qualquer erro detectado é imediatamente reportado e corrigido antes de chegar à produção. Além disso, se encontrarmos erros fora dos testes automatizados, nós os incorporamos no sprint seguinte para garantir que sejam cobertos no futuro. Assim, conseguimos uma automação progressiva que evita a recorrência de problemas e garante a qualidade do sistema", acrescenta Almeida.
A automação de testes e a configuração da integração contínua também impactaram a metodologia de trabalho. A Concepto alcançou uma metodologia ágil de desenvolvimento e fomentou a cultura DevOps dentro da equipe.
"Ter a mesma ferramenta para desenvolver e modificar os testes agiliza muito o trabalho, pois você pode trabalhar com a mesma equipe, sem a necessidade de contratar uma empresa externa para realizar os testes."
Embora a frequência de entrega ao cliente não dependa exclusivamente do ciclo de desenvolvimento do sistema—já que o delivery é gerenciado por outra empresa responsável pela administração e monitoramento do ambiente de produção—, a Concepto está totalmente preparada para atender aos prazos solicitados pela aduana, sejam eles semanais, quinzenais ou mensais. Além disso, a equipe tem a capacidade de realizar liberações intermediárias durante um sprint, quando a aduana solicita atualizações urgentes.
Entre os principais benefícios alcançados estão:
O Problema
Em um Sistema de Missão Crítica como o GIA, as constantes mudanças em atributos e tabelas frequentemente afetavam áreas não relacionadas, gerando erros que poderiam chegar até a produção. A falta de testes de regressão exaustivos, devido ao tempo limitado para testes manuais, implicava riscos significativos em termos de robustez do sistema e de cumprimento do Acordo de Nível de Serviço (SLA), expondo a Concepto a possíveis sanções e multas."O GIA deve funcionar 24 horas por dia, 365 dias por ano. Uma possível falha neste sistema pode paralisar toda a atividade relacionada ao comércio exterior de um país. Por isso é de vital importância que este sistema seja robusto", acrescenta Enrique Almeida, Engenheiro de Software e Diretor da Concepto.
Por esses motivos, era imperativo:
- Executar testes de regressão diários em módulos críticos.
- Aumentar a cobertura dos testes e detectar erros precocemente.
- Reduzir a incidência de erros em produção.
- Adotar uma solução escalável que automatizasse processos repetitivos.
A Solução: GXtest como núcleo da automação
Em 2012, a Concepto implementou o GXtest 3 para testes de regressão ponta a ponta em fluxos críticos. Os testes eram executados automaticamente em um ambiente controlado, permitindo que os desenvolvedores analisassem os resultados no dia seguinte. Em 2020, com a migração para o GeneXus 16, foi implementado o GXtest 4, que introduziu:- GXtest Recorder para gravar fluxos automaticamente.
- Testes unitários sobre a lógica do sistema, integrados ao pipeline de integração contínua com o Jenkins.
"Nossos desenvolvedores realizam commits diários no GXserver, e o Jenkins verifica automaticamente a cada hora se houve mudanças. Se detectar alguma, inicia o processo de build da Knowledge Base, o que leva aproximadamente uma hora. Além disso, todas as noites implantamos o sistema em um ambiente de testes, utilizando um banco de dados que é uma cópia do ambiente de produção do dia anterior. Em seguida, executamos os 140 fluxos automatizados, o que leva cerca de duas horas. Posteriormente, enviamos aos desenvolvedores um e-mail com o relatório de resultados gerado pelo Allure, informando tanto eles quanto os chefes de desenvolvimento sobre o estado do sistema. Com essa metodologia, qualquer erro detectado é imediatamente reportado e corrigido antes de chegar à produção. Além disso, se encontrarmos erros fora dos testes automatizados, nós os incorporamos no sprint seguinte para garantir que sejam cobertos no futuro. Assim, conseguimos uma automação progressiva que evita a recorrência de problemas e garante a qualidade do sistema", acrescenta Almeida.
Os Resultados
O uso do GXtest transformou a forma como a Concepto garante a qualidade do GIA. Ao automatizar testes críticos e estabelecer um pipeline de integração contínua, a Concepto conseguiu reduzir o impacto dos erros e otimizar os tempos de desenvolvimento e de testes.A automação de testes e a configuração da integração contínua também impactaram a metodologia de trabalho. A Concepto alcançou uma metodologia ágil de desenvolvimento e fomentou a cultura DevOps dentro da equipe.
"Ter a mesma ferramenta para desenvolver e modificar os testes agiliza muito o trabalho, pois você pode trabalhar com a mesma equipe, sem a necessidade de contratar uma empresa externa para realizar os testes."
Embora a frequência de entrega ao cliente não dependa exclusivamente do ciclo de desenvolvimento do sistema—já que o delivery é gerenciado por outra empresa responsável pela administração e monitoramento do ambiente de produção—, a Concepto está totalmente preparada para atender aos prazos solicitados pela aduana, sejam eles semanais, quinzenais ou mensais. Além disso, a equipe tem a capacidade de realizar liberações intermediárias durante um sprint, quando a aduana solicita atualizações urgentes.
Entre os principais benefícios alcançados estão:
- Redução de erros em produção
A automação diminuiu significativamente a quantidade de erros que chegam à produção, alinhando-se aos padrões de qualidade do SLA (Service Level Agreement).
- Tranquilidade operacional
Com os testes de regressão automatizados, a equipe pode implantar novas versões com confiança.
- Agilidade em migrações
Os testes automatizados tornaram-se um pilar durante as atualizações do GeneXus e do Oracle, assegurando uma transição suave.
- Automação inteligente
O GXtest permitiu ampliar a cobertura dos testes sem aumentar significativamente os recursos.
- Adaptabilidade
A integração com ferramentas existentes e a capacidade de registrar novos fluxos garantiram uma evolução contínua do sistema.
- Cultura DevOps
A automação promoveu a colaboração entre os desenvolvedores, minimizando erros e otimizando processos.