checklist
Sabemos que erros apresentam muitos prejuízos para usuários e empresas, por isso é tão importante a realização dos testes de software. E para a realização deste processo com assertividade e objetividade listamos doze tarefas que devem ser levadas em conta.
Confira este check list!

Defina a estratégia

Um bom planejamento e uma boa estratégia de automação de testes pode definir o sucesso (ou não!) da implementação de testes automatizados. Saber o que testar, como testar e quando testar, entender as características do sistema a ser testado (web service, api, aplicação web, mobile, legado, batch), e quais SGBDs deverão ser contemplados, são apenas alguns itens que devemos ter em mente durante o planejamento do projeto de testes automatizados. Outro segredo é este: tratar a implantação de um processo de testes automatizados como um projeto e com todas as prerrogativas que um projeto precisa ter.

O que não fazer é uma boa prática

Para definir a estratégia é preciso avaliar o que já foi feito por você, ou por outras pessoas, e que deu errado. Realizar muitos testes manuais sem um direcionamento correto, bem como ter muitos testes automatizados de interface de tela (Automated GUI Tests) e poucos testes de integração e unitários, pode fazer com que o sucesso da automação de testes não seja alcançado. Mais detalhes podem ser vistos em (https://watirmelon.blog/tag/testing-pyramid/)

 

Automatize o mais cedo possível

Testes manuais tem que ser realizados sempre. Eles são um complemento da estratégia de automação de testes, porém precisam ser realizados de acordo com um plano, um direcionamento de prioridades ou riscos. E todos os testes executados em todas as fases anteriores do desenvolvimento precisam ser automatizados.

 

Código de teste é tão importante quanto código de produção

Os testes devem ser bem escritos e em grupos pequenos, no mesmo contexto. Toda a equipe deve escrever a suíte de testes. Se a equipe de desenvolvimento do software for uma equipe integrada (dev+qa+cliente+analista de negócio e quem mais for importante para o software ser entregue), é importante que todos participem da automação dos testes. Qualidade não é responsabilidade somente do time de QA. Qualidade é responsabilidade do time todo!

Seja consistente e confiável

A sua suíte de testes deve conquistar a confiança da sua equipe, do seu gerente e do cliente. Não acreditar na suíte de testes, ou seja, não confiar nos testes automatizados é sinal de desastre para o software. Não pode haver dúvidas sobre o ambiente de testes. No menor sinal de desconfiança algo precisa ser feito para que seja restabelecida em todo o time a certeza de que o processo de testes automatizados funciona. E bem!

Faça testes independentes

Um teste não pode influenciar o resultado de outro e o feedback, se o teste passou ou não, precisa ser rápido. Invista em ter testes cada vez mais atômicos, independentes e rápidos de serem executados. Escalabilidade para execução dos testes também é muito importante. Rodar os testes em paralelo é essencial para o sucesso do projeto. Não subestime a ansiedade humana por resultados rápidos e confiáveis!

Mantenha seu valor por toda a vida do produto

Obviamente que a aplicação irá mudar ao longo do tempo. As necessidades do cliente irão se modificar numa taxa de velocidade maior do que a nossa taxa de entrega de software funcionando para o cliente. Mas existe um núcleo do sistema que sofrerá menos alterações. Testes para este núcleo precisam ser duráveis, perenes e firmes, para garantir que o núcleo do sistema continue funcionando até que mude, e quando mudar, que o teste aponte o impacto da mudança.

Documentação eficáz

Testes servem como documentação, na verdade, são a melhor documentação que você vai ter! Documentação viva, especificação executável. Testes devem informar a intenção de um desenvolvedor e refletir a necessidade do cliente (o que ele vai usar e como vai usar).

Priorize funcionalidades que têm maior uso

Tenha foco na cobertura de testes para as funcionalidades que mudam com maior frequência e têm maior utilização. Faça testes para os erros encontrados em produção – você automaticamente estará testando o mais crítico. Se tem erros é porque alguém usou, logo, podemos entender que se existe maior uso, há maior risco de encontrar erros. Aqui vale o Princípio de Pareto (ou princípio 80/20):  80% dos resultados estão relacionados a 20% dos nossos esforços. Erros em produção também é um indicativo forte de que os seus testes precisam ser ampliados.

Antecipe os testes

Não rode a suíte de testes somente antes de gerar a versão. Faça integração contínua, ou seja, a cada check in no fonte, execute os testes de forma automatizada. Não permita ter fonte no branch principal com teste quebrado. Não se preocupe com a performance de execução de um teste, mas sim, com o paralelismo e concorrência.

Verifique testes que não quebram há muito tempo

Verifique com frequência se os testes estão quebrando, isto é, se erros são encontrados durante a execução. Um sinal de que os testes precisam ser ampliados é quando param de encontrar erros (efeito pesticida). Outro sinal são os erros em produção. Você pode não estar testando o sistema certo (ou a versão correta). Certifique-se sempre de estar com a configuração correta para executar os testes e garanta que irá para a produção do cliente somente o que foi testado.

Automação de tarefas

Investir em aumentar a automação de tarefas executadas manualmente, integrar ferramentas e extrair dados do processo de teste de forma automática deve ser uma atividade constante do time. Executar tarefas repetidas de forma manual é um desperdício de tempo e dinheiro. Invista em DevOps! Automatizar o seu fluxo de trabalho é garantia de sucesso e aumento de produtividade no dia-a-dia do time e fará com que você tenha dias mais tranquilos.
 
Quer saber como aplicar este check list e aumentar a produtividade dos seus testes? Entre em contato comigo!
 
 

Leave a Reply

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

Post comment