PROCESSO DE TESTE
Bruno Sobieski – Novembro 2016
ENTENDENDO O PADRÃO
OK OK OK NAO OK
2
AUTOMATIZAR CASO DE TESTE
• Um novo método para cada caso
– Requer desenvolvimento para criar novos casos
– Tarefa de responsabildiade dos segmentos a partir de junho de 2016
– Código não reutilizável
– Usa rotina automatica
• Desenvolvimento da metodologia pensando só no Brasil
• Dados dentro do código com referencia à base congelada (Brasil)
• A “Localização” está na diferença dos dados, tanto de entrada, quando de saida, em mais de 90%
dos casos.
• Exemplo prático:
– Rotina ATFA010
• 42 Métodos (casos) criados
• Dados que sera usados para a rotina “hard coded” dentro de cada método
• Todos os métodos chamam a rotina automática da ATFA010
• Todos os checkpoints (teste de sucesso) baseiam-se em queries definidas e dados da query definidos como corretos no caso de teste
3
AUTOMATIZAR CASO DE TESTE
• Efeito práticos:
– Código com lógica idéntica, repetido 42 vezes
– Se precisar de correção da lógica, tem que corrigir 42 vezes
– A base congelada é do Brasil, os dados que serão usado estão no código, consequência:
• O script não pode ser usado para outros países, a não ser que use a mesma base congelada (não faz sentido)
• Proposta de solução:
– Converter os scripts existentes e criar os novos, com um modelo que seja reutilizável para todos
os países
– Obter os dados de uma fonte externa (csv)
– Não é necessário reescrever a ferramenta, somente redefinir o modelo de programar os casos de
uso e treinar os desenvolvedores
4
AUTOMATIZAR CASO DE TESTE
• Exemplo prático com arquivo em CSV, só uma função, 42 casos de uso, sem necessidade
de programar para incluir novos.
5
PRÓXIMOS PASSOS
• Fechar modelo
• Treinar times
– Validar que não sejam subidos mais casos de teste sem considerar dados variáveis (para rotinas
novas)
• Análise estático de código?
– Planejar a conversão das rotinas antigas
• INDISPENSÁVEL para ampliar os testes no produto localizado
6
/totvs BRUNO SOBIESKI - TOTVS MI
@totvs
blog.totvs.com
company/totvs
fluig.com Obrigado ;)