As vantagens da automação de testes de software são bastante conhecidas, como economia de tempo, melhor cobertura, redução de esforço e confiabilidade. No entanto, é comum projetos de automação de testes fracassarem porque os riscos não foram previamente identificados. Parte dessa ameaça decorre da crença de que por serem automatizados os testes não precisam ser testados também. Ou ainda que a automação, por si só, vai resolver sozinha e em um passe de mágica, problemas de funcionalidade, desempenho e segurança da aplicação.
Risco é ‘um evento futuro incerto com probabilidade de ocorrência e potencial de perda’. Há vários tipos de riscos com os quais os especialistas em qualidade de software e os testadores precisam se preocupar com o objetivo de identificá-los, gerenciá-los e mitigá-los. Vejamos alguns deles:
Riscos de cronograma
Falhas na identificação de melhorias e no tempo necessário para desenvolver as funcionalidades, expansões imprevisíveis de escopo e não ter os recursos (pessoas, sistemas) rastreados são alguns dos erros que afetam negativamente o cronograma de projetos de automação de testes.
Riscos de orçamento
Estimativas erradas de orçamento, custos adicionais e novamente a expansão não programada do escopo do projeto são questões que ameaçam a qualidade da automação de testes.
Riscos operacionais
Riscos operacionais ficam evidentes quando não há planejamento para uso dos recursos ou os mesmos são insuficientes, quando falha a comunicação na equipe, quando há prioridades de testes conflitantes e há ineficiência em resolver conflitos de prioridades e responsabilidades.
Riscos técnicos
Problemas de funcionalidade e de desempenho dos softwares são causados por riscos técnicos, como complexidade de implementação do produto, requisitos em constantes mudanças ou ainda relacionados à tecnologia.
Riscos programáticos
Os riscos programáticos estão além dos limites do projeto, a exemplo de mudanças legais por parte do governo ou ainda movimentos do próprio mercado.
Mitigação dos riscos em projeto de automação de software
Para evitar perdas é necessário identificar os riscos. A avaliação pode chegar à conclusão que os riscos precisam ser mitigados (renovar o planejamento para evitar riscos), aceitar os riscos, transferir os riscos terceirizando-os para uma empresa especializada ou simplesmente renunciando ao risco. Este último tem como consequências o adiamento do desenvolvimento do aplicativo para uma versão posterior, o que impacta na redução do ROI.
A falha em mitigar os riscos resulta ainda em perdas de prazo de implantação, aumento dos custos do produto, software de baixa qualidade e não cumprimento de obrigações contratuais. Por isso é melhor se assegurar que o projeto de automação de testes passa por revisões incrementais, assim como procedimentos e métricas. Isso confere maior precisão na execução do planejamento de risco.
Planejar é preciso
Para tirar maior proveito da automação de testes é necessário ter maior controle sobre os diversos elementos do projeto, do prazo, orçamento e escopo. Isso inclui, por exemplo, conhecer os limites das ferramentas de automação de testes que será utilizada e evitar os relatórios ruins ou a falta deles.
É preciso ainda definir quais testes serão automatizados e quais não serão. Automatizar todos os cenários de teste de uma aplicação pode ser impraticável. Assegure-se também de não iniciar a automação com códigos instáveis mesmo que a equipe trabalhe em ambientes ágeis. Caso isso ocorra, haverá retrabalhos que impactarão tanto o desenvolvimento quanto os testes.
Contar ainda com as habilidades e experiências dos profissionais de controle de qualidade é essencial para mitigar riscos em projetos de automação de testes. Com um nível de especialização adequado, esses profissionais poderão ajudar no treinamento da equipe, por exemplo. Uma opção é contratar uma empresa especializada confiável que pode assumir o peso de elaborar a sua estratégia de testes.
Por fim, compreender que a automação de testes tem muitas vantagens em relação aos testes manuais, mas não é ilimitada. E que para a estratégia de testes ser de qualidade os próprios testes precisam ser testados. Tudo isso porque nenhuma empresa deveria correr riscos de perder receita, clientes e a própria reputação. Ao projetar mal a automação de testes.