É sempre uma tarefa muito complexa escrever testes de regressão automatizados para um sistema legado. As perguntas variam de por onde começar, quanto custa para automatizar e decidir sobre a melhor estratégia para a automação.
Vários autores e especialistas sugerem uma abordagem baseada na diminuição do risco de erro no software. Você nunca poderá testar tudo, logo você tem que escolher onde você quer gastar seu tempo e dinheiro. Teste, é sobretudo, estratégia para diminuição de risco e não somente sobre a cobertura de código ou completude.
Algumas perguntas podem ajudar na definição do caminho a seguir:
• Quais funcionalidades usadas pelo cliente estão com a pior qualidade?
• Quais são as principais áreas funcionais do software que o cliente tem maior lucratividade?
• Será que o cliente prefere mais funcionalidades para melhor qualidade?
• Quais são os maiores riscos para os sistemas?
• Se o cliente pudesse melhorar algo, o que seria?
• Testes exploratórios manuais encontrarão bugs mais importantes?
Outros pontos podem ser úteis na identificação de prioridades, como por exemplo:
1. Só automatizar testes que fazem acesso a telas do sistema, e não aos caminhos mais importantes para a sua aplicação, não vai gerar os ganhos de melhoria de qualidade esperados com a automação dos testes. Muitas aplicações têm algum caminho comum que é usado em 80% dos casos. Se isso que é comum parar de funcionar, a sua empresa está em apuros!
2. Se você puder ignorar a interface de tela e ir direto para o backend testar a funcionalidade de negócios, faça isso! Isso significa que os testes de integração específicos da interface de tela estarão certificando se os dados do front-end chegarão ao back-end.
3. Antes de iniciar a automação para um projeto de legado, faça um desenho macro do projeto para identificar as áreas específicas que precisam de atenção. Isto servirá para ajudar a mapear as principais funcionalidades, quais as áreas com maior amplitude de funcionamento, bem como fluxos de negócio principais.
4. Construir testes de fluxo completo (end to end) para a área que você quer concentrar o foco do projeto de automação pode gerar bons resultados. É recomendado que, para um sistema legado, se existem roteiros de testes de regressão manuais que são repetidos a cada nova versão disponível, estes roteiros são candidatos a começar um projeto de automação de testes e ter ganhos rápidos.
5. Para qualquer aplicativo de legado, os cenários de negócios mais críticos devem ter testes de regressão automatizados. Identificar estes cenários é importante para todo o projeto e deve ser feito juntamente com os usuários finais da aplicação.
Em nossos projetos, identificamos que há uma pequena chance para automatizar todo o sistema (ou software) legado de uma só vez. O que funcionou para nós foi uma combinação de fatores. Alguns dos quais eram:
• Pedir aos clientes a priorizar as áreas críticas do sistema legado;
• Escrever scripts de teste de regressão manuais para cada área mais crítica;
• Ter tempo e orçamento em cada sprint para escrever testes exploratórios para essas áreas;
• Executar o conjunto de teste pelo menos uma vez por semana;
• Testar de forma adequada e automatizada todos os novos desenvolvimentos.
Com esta abordagem, podemos automatizar, adequadamente, as funcionalidades mais críticas de um sistema legado em 3 meses. Pode parecer um período longo, mas trata-se de obter todo o conjunto de funcionalidades críticas do sistema legado coberto com testes de regressão automatizados. A abordagem sugerida é a construção de uma cobertura suficiente para a funcionalidade crítica de negócios e para aumentar gradualmente a cobertura de testes no sistema.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment