sábado, 7 de dezembro de 2013

Testar com poucos (ou nenhuns) Requisitos

Muitos testers são surpreendidos quando lhes pedem para testar aplicações informáticas sem que existam requisitos claros. Será possível não cair em pânico e sair desta situação de forma segura quando não se tem muita experiência? Muito dificilmente um tester recebe um documento completo e preciso de especificações funcionais. Em muitos casos estão definidos prazos de entregas iniciais, surgem mudanças repentinas de requisitos ou tarefas urgentes, faltam recursos humanos, e existem outros obstáculos que podem complicar o processo de testes. E mais frequentemente também surgem desentendimentos entre especialistas de diferentes áreas que podem ser resolvidos graças à intervenção do tester. Para ultrapassar estas situações, existem algumas dicas que podem ajudar os testers com menor experiência.

Primeiramente é necessário encontrar respostas claras para algumas questões genéricas:
  • Vamos fazer testes unitários e/ou de sistema?
  • Vamos fazer testes funcionais, de performance ou de regressão?
  • Trata-se de um produto novo ou é um projecto de manutenção?
  • Como é que os programadores entendem o sistema?
  • Que outra documentação existe além de especificação funcional?
  • Existe algum analista/especialista de negócio, ou um utilizador final disponível?
  • Há componentes funcionais previamente definidas?
  • Quais são as áreas de risco?
  • Qual o nível de experiência da equipa de testes?
  • Vão ser feitos testes manuais e/ou automáticos?

As respostas às questões anteriores revelarão possíveis formas de pôr em prática o processo de testes.

Quanto ao aspecto organizacional dos testes podemos considerar os seguintes aspectos:
  • Identificar os pontos fortes da equipa de testes.
  • Obter informações sobre as componentes técnicas desenvolvidas.
  • Combinar ou separar módulos consoante o tipo de testes.
  • Distribuir os módulos a testar de acordo com as competências e conhecimentos dos testers.
  • Encorajar a comunicação constante entre a equipa de testes e programadores e analistas.
  • Escolher uma abordagem de testes clara e objectiva, que não seja passível de diferentes leituras, para evitar erros de interpretação.
  • Documentar os passos básicos nos detalhes do processo de teste, se houver pouco tempo disponível.

Com estes princípios em mente, podemos ainda tentar algumas abordagens alternativas para os testes. Podemos realizar testes exploratórios, em que testamos a aplicação de acordo com o nosso próprio método. E podemos fazer testes de aceitação (ou com utilizadores) envolvendo um utilizador desconhecido para perceber como são entendidos os requisitos e as funcionalidades básicas, e compreender a forma como os utilizadores interagem com a nova aplicação. Também se pode pedir aos utilizadores que escrevam pequenas histórias (descrições do negócio) que podem servir de base para o desenho de mais testes.

Em resumo, podemos dizer que, quaisquer que sejam as condições para testar software, devemos sempre pensar cuidadosamente e definir objectivos claros antes de começar.

----------------------
Traduzido e adaptado de: Testing In The Dark: How To Come Out Into The Light (Blog Hunteress)

Outros links sobre este assunto: