Durante o ano, em média, nossos Times de Desenvolvimento dedicaram mais de 72.000 horas em análises e desenvolvimentos de novos recursos e melhorias no ERP SIGER®.
Garantir que esses desenvolvimentos cheguem aos usuários com a menor incidência de erros possível é um dos aspectos mais relevantes nos nossos processos. Para isso, a Rech implementa uma série de testes de software antes de disponibilizar uma atualização ou nova versão do SIGER®.
Conheça os testes de software utilizados para garantir a qualidade dos desenvolvimentos implementados ao ERP:
Teste unitários
Nos últimos anos, a Rech tem trabalhado fortemente para modernizar a forma como os programas (classes) do sistema são escritos. A orientação a objetos é um paradigma de programação bastante moderno, sendo o mais popular na área de desenvolvimento de software devido aos seus diversos benefícios.
Dentre esses benefícios, podemos citar a possibilidade de criar testes unitários, com o objetivo de testar cada pequena parte do código.
Atualmente, a Rech conta com diversos testes unitários em todas as linguagens utilizadas no desenvolvimento do ERP SIGER®. Isso significa que temos testes unitários escritos em Cobol, Java, Rust, Dart, entre outras diversas tecnologias usadas na empresa.
Nossa API de manipulação de arquivos é um ótimo exemplo da aplicação em larga escala de testes unitários, pois conta com mais de 800 testes das mais variadas operações possíveis a serem feitas com arquivos no sistema operacional. Também contamos com diversas classes de testes para as mais variadas rotinas de negócio do sistema, assim como outras APIs criadas para auxiliar no desenvolvimento diário do SIGER®, que também estão cobertas por testes unitários.
Teste de integração
Atualmente a Rech conta com diversos testes automatizados que são rodados diariamente.
Esse tipo de teste consiste em uma execução do sistema que processa determinada função gerando uma saída (listagem, XML, arquivo texto, etc). Depois disso, é feita uma comparação da saída gerada com uma matriz anterior: se for identificada alguma diferença, é gerado um aviso para o setor de desenvolvimento analisar e corrigir o problema, se for o caso.
Atualmente, são executados mais de 15 mil testes automatizados diariamente, considerando as versões ativas do sistema.
Teste de versão
Atualmente a Rech libera duas novas versões do sistema anualmente e a cada liberação de versão é feita uma bateria de testes para homologar a versão nova. Esses testes contemplam todo o ciclo do software, desde a instalação da versão nova, adaptação dos dados e testes gerais das funcionalidades de cada módulo. Somente depois de serem executados todos os testes programados para a versão é feita a liberação da mesma para os clientes.
Esse processo leva em média um mês para ser realizado, consumindo em média 650 horas por versão e envolve mais de 60 pessoas no processo completo.
Teste de implementação
Além dos testes já citados acima, é importante salientar que toda e qualquer alteração feita no sistema passa por um processo de teste. Nesse processo diário o próprio desenvolvedor inicia realizando os testes a fim de garantir que o que está desenvolvendo está alinhado com a demanda do cliente.
Depois disso, existe uma segunda etapa onde outro desenvolvedor revisa o que foi feito para encontrar possíveis falhas. E por fim são feitos os testes funcionais pelos consultores da empresa para verificar se o que foi alterado está de acordo e não afetou outras funcionalidades.
Teste de geração
Também temos em nosso processo um momento onde são disponibilizadas as implementações feitas nas demais versões e releases do SIGER®. Isso ocorre na geração semanal, onde as implementações que foram finalizadas são geradas para que os clientes possam receber na próxima atualização. Após finalizadas as gerações, todas as demandas passam pelos testes de geração, onde o programador realiza os teste com o objetivo de verificar se foi disponibilizado corretamente nas demais versões.
Esse processo de geração e testes de geração dura um dia e costuma ser realizado nas sextas-feiras.