Ao que concerne as metodologias de testes utilizadas no desenvolvimento ágil de softwares que trabalhamos aqui na Zydax, apresentamos previamente, no artigo anterior, algumas nas quais trabalhamos. Buscando entender sua utilização e as vantagens que apresentam no desenvolvimento de sistemas, os testes automatizados, utilizando-se das metodologias de TDD e os testes de regressão. O presente artigo tem como objetivo continuar as análises acerca do tema, apresentando um outro tipo de metodologia: Os testes manuais.
Primeiramente, os testes manuais podem ser executados de duas maneiras: testar algumas funcionalidades manualmente para entender como é o seu funcionamento e, em seguida, saber o que se deve automatizar. Ou, uma outra forma de executá-los é no momento final como forma de validação aos testes automatizados. Os testes manuais são importantes pois trazem a visão do usuário para dentro do sistema, que é diferente do que ter uma visão amplamente automatizada do sistema.
Os testes manuais geralmente são desenvolvidos pelo setor de Q.A. O termo deriva do inglês “Quality Assurance” e diz respeito a garantia de qualidade que o sistema deve atender de acordo com os requisitos propostos pelo cliente. Em linhas gerais, é a equipe responsável por garantir que o sistema seja entregue com a garantia de ser um produto de excelência, essa equipe é formada por um outro “QA”, os “Quality Analysts”, ou do português, os analistasde qualidade. Essa equipe é responsável por algumas funções, como:
– Análise de Teste: Analisar quais erros são mais susceptíveis de ocorrer dentro do software e como cobrir as áreas de risco com eficiência de acordo com os recursos disponíveis.
– Testes Manuais: Rodar de forma manual as funcionalidades desejadas buscando antever erros.
– Validação das funcionalidades: Garantir que o sistema atende plenamente as necessidades do usuário.
– Testes Exploratórios: Achar brechas que os desenvolvedores não pensaram ao escrever o código, tentando entender como o usuário final utilizaria o produto.
– Documentação e coleta de evidências: Os testes realizados geram informações relevantes e necessárias para todo o desenvolvimento do software. Nesse sentido, para além de apenas testar é necessário guardar e evidenciar as funcionalidades testadas, para que oriente e possibilite o trabalho das outras equipes de desenvolvimento.
– Tomada de decisão: As equipes de Q.A participam ativamente das tomadas de decisão (Go/No-Go) de novas funções e produtos.
Em paralelo, é preciso estar atento para que não se confunda dois tipos de profissionais, o analista de teste e o analista de qualidade. O Analista de teste é quem valida o produto, o analista de qualidade é quem valida o processo.
Por fim, vale ressaltar que geralmente as metodologias de teste manuais são utilizadas em concordância com outras formas de testes automatizados e cabe ao analista de qualidade se utilizar do seu conhecimento e ferramentas disponíveis para otimizar o trabalho. A garantia de qualidade do processo é um trabalho baseado muito menos na execução e mais na criação, é entender o produto de acordo com o usuário, é transformar o software de forma a propor sempre a melhor experiência ao usuário final.