08
jun 15

Testes automatizados – Parte 4: Como começar a automação do legado

Testes automatizados – Parte 4: Como começar a automação do legado

Como começar a automação

Geralmente essa dúvida surge em casos de sistemas legados, em que já se vive a situação de falhas constantes em produção, lentidão para corrigir e outras reclamações comuns.

Nesses casos a automação pode ajudar? Por onde começar??

Comece com testes funcionais, não com unitários

Realizar testes unitários significa verificar cada parte, em separado, para verificar se tem o comportamento esperado. Em um software, isso pode significar escrever um teste que valida cada método do código fonte.

Com teste unitário, demoraríamos muito tempo para ter uma boa cobertura de um sistema legado, além de exigir um alto conhecimento da estrutura interna do sistema e em alguns casos exigir refactor.
O refactor se faz  necessário porque em alguns casos o código fonte está muito acoplado e precisamos primeiro “separar” as unidades, para depois testá-la.

Por estes motivos, projetos para escrever testes unitários para sistemas legados costumam acabar em frustração.

O ideal é começar por testes funcionais. Com uma quantidade bem menor de testes é possível cobrir muito mais funções do software, não há necessidade de conhecer a estrutura interna e a chance de precisar de refactor é muito menor.

funcional-vs-unitario

Comece com os fluxos principais de uso

Mesmo para começar a construir testes funcionais, é necessário planejar uma estratégia, já que não é possível automatizar todas as funcionalidades de uma vez só.

A sugestão é identificar os fluxos principais da aplicação, aqueles que tem mais impacto para o negócio ou para o dia-a-dia dos usuários, usando o conceito de ‘smoke test’.
Em uma loja on-line, por exemplo, o primeiro fluxo para automatizar poderia ser o fluxo no qual um usuário busca um produto, insere no carrinho e finaliza a compra. Este fluxo é muito mais crítico para o negócio do que os cadastros ou relatórios administrativos.

Não reinvente a roda

Outro motivo de frustração em projetos de automação de testes é tentar reinventar a roda, adaptando ferramentas que já são usadas na organização para que façam outras coisas.

Para o sucesso da sua automação, escolha ferramentas sólidas, avalie a adoção dessas ferramentas pela comunidade de desenvolvimento e o quanto de ajuda você poderá encontrar na Web.
Entenda que você precisará de conhecimento nas ferramentas de teste, e precisará ainda conhecer um pouco de DevOps para que as automações de testes sejam mais úteis.

william.jablonski
william.jablonski

Especialista em Qualidade e Testes, atua com automação de teste, integração contínua, feedback contínuo e métodos ágeis para desenvolvimento de software.

Conteúdos relacionados

  1. […] Parte 4: Automação do legado […]

Deixe uma resposta