Solução QAWEB® Para Teste de Software 2

QAWEB

Quando Devemos Testar?

 

Os testes realizados em cada fase do ciclo de desenvolvimento de software permitem que um número maior de erros sejam descobertos antecipadamente, evitando a migração destes para as fases seguintes.

Desta forma, a resposta “Quando devemos testar?” torna-se simples. Teste o mais cedo possível e tantas vezes quanto necessário. A cultura do teste cria um ambiente favorável para detecção de erros, e identificá-los rapidamente é o objetivo dos profissionais de testes.

Onde estão os erros?

Os erros ocorrem em todas as fases do processo de desenvolvimento de software. Porém, estudos demonstram que a maior incidência dos erros está concentrada nas fases iniciais do processo de desenvolvimento. Muitos dos erros identificados no produto final são provenientes da má especificação e entendimento sobre os objetivos a serem alcançados.
Se nosso objetivo é reduzir, ao máximo, o nível de erros dentro do processo de desenvolvimento de software, devemos nos concentrar nas atividades iniciais do processo. Desta forma, estaríamos identificando prematuramente os erros impedindo que estes migrassem para outras fases.

 Entendendo o Processo de teste

Não é possível conceber um processo de teste de software sem integrá-lo com o ciclo de desenvolvimento de software. Um bom processo de teste é aquele que cria uma relação de “um-para-um” entre as fases de desenvolvimento e testes. Esta relação bilateral promove a colaboração entre as áreas e reforça a ideia do objetivo comum.

Modelo de Processo

O Processo de Teste de Software esta decomposto em fases. Cada fase tem uma numeração indicando a sequência de execução dos testes a serem aplicados.
Fluxo de Teste

Recursos Humanos
Líder do Projeto de Testes (ou Gerente de Testes)

Pessoa responsável pela liderança de um projeto de teste específico, normalmente relacionado a um sistema de desenvolvimento, seja um projeto novo ou uma manutenção.

Arquiteto ou engenheiro de Teste

É o técnico responsável pelo levantamento de necessidades relacionadas à montagem da infraestrutura de teste, incluindo-se o ambiente de teste, a arquitetura de solução, as restrições tecnológicas, as ferramentas de teste. Também responsável pela liderança técnica do trabalho de teste e pela comunicação entre a equipe de teste e a equipe de projeto (ou equipe de desenvolvimento).

Analista de Teste

É o técnico responsável pela operacionalização do processo de teste. Deve seguir as orientações do gerente de teste e/ou do arquiteto de teste para detalhar a forma de execução dos testes e as condições de teste necessárias. Também deve focar seu trabalho nas técnicas de teste adequadas à fase de teste trabalhada.

Analista de Ambiente

É o técnico responsável pela configuração do ambiente de teste e pela aplicação das ferramentas necessárias para tal. Esse profissional deve ser especializado em arquiteturas de solução e nos sistemas operacionais e softwares de infraestrutura que regem o ambiente. Ele será responsável por tornar disponível o ambiente de teste.

Testador

É o técnico responsável pela execução de teste. Ele deve observar as condições de teste e respectivos passos de teste documentados pelo analista de teste e evidenciar os resultados de execução. Em casos de execuções de teste mal sucedidas, esse profissional pode também registrar ocorrências de teste (na maioria das vezes, bugs) em canais através dos quais os desenvolvedores tomarão conhecimento das mesmas e tomarão as providências de correção ou de esclarecimentos.

Automatizador de Teste

É o técnico responsável pela automação de situações de teste em ferramentas. Ele deve observar as condições de teste e respectivos passos de teste documentados pelo analista de teste e automatizar a execução desses testes na ferramenta utilizada. Normalmente são gerados scripts de teste que permitam a execução de ciclos de teste sempre que se julgar necessário, desde é claro, que sejam garantidas as mesmas condições iniciais do ciclo de teste (valores de dados, estados dos dados, estados do ambiente, etc.).

Papéis e Pessoas

Uma pessoa pode acumular mais de um dos papéis citados acima, de acordo com características e restrições de projetos de desenvolvimento de software nas quais estejam inseridas. Nas fases de teste de unidade e de integração, por exemplo, os papéis de Arquiteto de Teste e Analista de Teste podem ser assumidos pelo analista de sistemas do projeto; o papel de testador pode ser assumido pelo programador ou por um segundo programador que atue num processo de programação em pares. Na fase de teste de sistema, num contexto em que haja uma equipe de teste independente, pode haver profissionais acumulando os papéis de Arquiteto de Teste, Analista de Teste e Testador. Automatizar ou não automatizar, eis a questão.

Autor; Paulo Tozelli