Processo de Teste Ágil x Tradicional » ACerT - Academia Brasileira de Certificações e Treinamentos
"Neste artigo vamos falar sobre diferentes metodologias de desenvolvimento de sistemas e processos de teste de software. O artigo apresentará qual a importância da metodologia na qualidade, qual o papel e função dos testadores, como podem e devem contribuir para a melhoria, além de um comparativo sobre as diferentes metodologias utilizadas atualmente. Este artigo será útil em situações nas quais os testadores devem trabalhar com determinada metodologia de desenvolvimento de sistemas, fazendo parte de todo o processo, desde a concepção até a conclusão de um projeto, trabalhando com melhorias, correções e alterações de requisitos dentro de um ciclo de desenvolvimento. Logo, será possível conhecer, avaliar e identificar possíveis pontos de melhoria, além de dinamizar e melhorar o dia a dia de trabalho dos testadores.
Além do modelo clássico, existem também variações que são empregadas de forma iterativa e incremental, tendo ainda uma forte linearidade no processo, caracterizado por "cascatas menores" dentro de cada iteração. No decorrer das tarefas e para a conclusão das mesmas, fazem parte da metodologia tradicional algumas premissas que a influenciam, como:
Aceite e reprovação dos testes: é papel do testador identificar falhas e erros na execução dos testes, logo eles devem ser executados como consta na especificação. Para isso, o executor ou testador deve acessar a ferramenta utilizada e executar os casos de testes que lhe foram atribuídos, categorizando os resultados obtidos conforme um template, se houver, seguindo um padrão que pode ser: "Teste Passou" – execução sem falha; "Teste Falhou" – execução com falha (obrigatoriamente informando passo a passo resultados esperados e qual a falha); "Bloqueado" – impossibilidade de execução do caso de teste devido a um pré-requisito não atendido ou motivo que não possibilite avaliar o item desejado e "Não executado". Os defeitos devem ser registrados e notificados aos responsáveis. Em alguns casos, quando são ou não identificados defeitos após o término da execução dos testes, se faz ou não obrigatória a confecção de um documento de comprovação dos testes, ficando a cargo dos envolvidos avaliar sua necessidade. Algumas vezes pode ocorrer de o defeito não ser priorizado ou não fazer parte do escopo inicial das alterações que estavam em teste. Nesses casos devem ser avaliados quais caminhos seguir.
Aceite e reprovação dos testes: quando algum comportamento estranho é identificado, é reportado ao desenvolvedor para que possa ser corrigido e depois retestado. Os resultados obtidos também devem ser categorizados conforme um template, se houver, seguindo um padrão, que pode ser: "Teste Passou" – execução sem falha; "Teste Falhou" – execução com falha (onde deve ser informado o passo-a-passo, resultados obtidos e esperados e qual a falha); "Bloqueado" -impossibilidade de execução do caso de teste devido a um pré-requisito não atendido ou motivo que não possibilite avaliar o item desejado e "Não executado". As user stories somente são aprovadas após todos os defeitos priorizados serem corrigidos e retestados. Após isso, cabe ao product owner e/ou analista funcional realizar o aceite.
Ambas as abordagens são excelentes dentro do que propõem, mas não perfeitas, e possuem pontos altos e baixos em áreas específicas ou em determinados tipos de aplicações utilizadas em projetos distintos.
Com diferentes métodos podemos ganhar agilidade, tempo e melhoramos a nossa qualidade nas entregas, mas não garantimos obtenção de sucesso. Para aprimorar a decisão sobre a escolha de métodos, nada melhor do que ter em mente os seguintes pontos: quão receptivos a mudanças são os profissionais que fazem parte da equipe? Qual o acordo sobre entregas com o cliente? Qual nível de exigência do cliente em relação a qualidade? Qual o tamanho da equipe que irá trabalhar no projeto? Qual o nível de conhecimento dos profissionais que fazem parte do time? Qual o risco que se está disposto a assumir para o negócio? Baseado nessas questões e analisando as duas metodologias, conseguimos escolher qual é melhor ou pior para se obter sucesso dentro de um projeto…"
Para aprimorar os seus conhecimentos para atuar em um projeto de testes de software, na ACerT é possível obter a qualificação e se certificar para trabalhar bem a documentação de testes e atuar no papel de Scrum Master, Scrum Product Owner ou Scrum Developer.