Como aplicar Continuous Testing em SAP?

Rafael Nóbrega
Inmetrics
Published in
4 min readMar 25, 2019

Com o objetivo de acelerar a curva de adoção de novas tecnologias, sem afetar a continuidade de negócios, a jornada da transformação digital nas organizações aumenta a pressão pela automação em todas as etapas do ciclo de vida do desenvolvimento de software.

Uma das etapas que mais é espremida para a redução de tempo e custo é a de testes de software. Para modelos de desenvolvimentos tradicionais, estudos indicam que cerca de 32% do tempo entre a concepção e a entrada em produção de uma funcionalidade é gasto em testes de software. Por isso, automatizar ao máximo esse processo é uma diretriz em todos os times.

Mesmo para grandes expoentes do mundo do desenvolvimento de software, como a SAP, essa realidade não é diferente. A automação de testes possui um papel fundamental em habilitar a implantação de esteiras de desenvolvimento ágil (CI/CD) e DevOps nessa plataforma e conseguir fazer com que as novas funcionalidades cheguem em produção no menor tempo possível.

Porém, alguns problemas impedem a implantação de soluções de automação de testes em larga escala:

Conhecimento Funcional SAP

Com a falta de analistas funcionais para realizar os testes, muitas vezes a cobertura dos testes fica prejudicada. Casos específicos de negócio podem ficar de fora dos testes por falta de conhecimento funcional em módulos e processo de negócios.

Massa de Dados

A criação de massa de dados para permitir testar situações específicas, também é um grande desafio para os times. Por mais que existam diversas soluções de cópia ou subsetting dos dados de produção, encontrar a massa de testes e manter esta massa válida continua sendo um dos grandes desafios dos testes realizados na plataforma SAP.

Integrações com sistemas legados

Para a grande maioria das implementações SAP do mercado, a integração com os outros sistemas é uma grande fonte de defeitos. Novas implementações em qualquer uma das duas pontas demandam uma nova séries de testes funcionais na plataforma, com a finalidade de garantir o funcionamento correto da funcionalidade.

Manutenção de Scripts de Automação de Testes

Como a automação de testes utiliza os componentes do sistema, toda vez que esses componentes mudam se faz necessário atualizar os scripts de automação. Assim sendo, sistemas que possuem um alto grau de atualização / evolução (e consequentemente precisam de uma maior cobertura de testes) demandam um maior percentual de manutenção desses scripts.

Dado este cenário, faz-se a principal pergunta que este artigo se propõe a responder:

Como podemos implementar um framework de testes contínuos para SAP?

A solução para esta resposta passa pela implementação de uma ferramenta chamada Testimony da Basis Technologies.

Novo Paradigma

Em vez de executar testes baseado em scripts criados pelos automatizadores, a ferramenta Testimony cria os testes baseado na captura das transações da produção. Esta técnica permite que se realizem testes de regressão de forma 100% automatizada e de maneira contínua.

Verdade?! Como funciona?

  1. Discover: Na primeira fase, um listener é instalado em produção. Ele utiliza a própria estrutura tecnológica do SAP para capturar as transações realizadas.
  2. Learn: Todas as transações, dados e integrações realizadas pelo SAP em um determinado período são capturadas, classificadas e priorizadas conforme uso. Nesta fase, é possível utilizar dezenas de filtros para capturar apenas partes das transações, se desejado.
  3. Setup: No momento da execução dos testes, um novo ambiente virtualizado é criado exclusivamente para esta rodada. Os dados capturados da produção são copiados para o ambiente de testes. As integrações com sistema legado são virtualizadas conforme entradas e saídas capturadas. Por fim, é realizado um merge entre as mudanças feitas pelo time de desenvolvimento e a versão da aplicação que está em produção.
  4. Validate: Para validar se o sistema continua funcionando, a ferramenta re-executa todos as transações selecionadas (em 10% a 15% do tempo de execução da produção) no novo ambiente de testes exclusivo (que possui todos os dados e integrações virtualizadas necessárias para os testes) e aponta as diferenças entre o resultado obtido na produção e o resultado dos testes.

Uau! Isso parece bastante legal! Posso usar em que casos?

  1. Upgrades / Updates: Atualizações do SAP são excelentes cenários para utilizar o paradigma de testes contínuos para validar se os módulos e processos de negócios continuam funcionando corretamente.
  2. Migrações (para Cloud ou Hana): Migrações também necessitam de muito teste de regressão e é um excelente caso de uso da solução.
  3. Desenvolvimento de novas features: Mesmo novos desenvolvimento, exigem um grau considerável de testes de regressão. As novas mudanças devem ser testadas utilizando o método tradicional, porém, os impactos da mudança podem ser testados utilizando a solução e após implantado em produção as novas mudanças viram testes regressivos para as próximas entregas do projeto.
  4. Suporte à Produção: A solução também pode ser utilizada para investigar problemas que aconteceram em produção e precisam ser reproduzidas no ambiente controlados para fins de análise do problema e retestes após a correção do defeito.

Interessante! Tem mais benefícios?

  1. Não necessita criar e manter scripts nem massa
  2. Ajuda a identificar transações críticas para o negócio
  3. Aumento da cobertura dos testes
  4. Antecipa os testes (Shift Left) e reduz tempo
  5. Redução da necessidade de analistas funcionais
  6. Redução de até 80% dos testes tradicionais

Sobre a Inmetrics:

A Inmetrics entende que ter plataformas tecnológicas de negócio otimizadas é fundamental para vencer na era digital. Para isso, fornecemos soluções para os ecossistemas de QA, Hybrid Infrastructure, Cloud, Devops, Data Science e Consulting para melhorar continuamente a experiência de seus clientes. Visite nosso site: www.inmetrics.com.br

--

--