domingo, 25 de abril de 2010

Automação de Teste - Planejamento, Design e Desenvolvimento dos Testes - parte 2

Esta é a segunda parte de 5 tópicos sobre Planejamento, Design e Desenvolvimento dos Testes automatizados
 


2. Desenhando os testes automatizados
Nesta fase abordamos a necessidade de definir o número de execuções que serão realizadas, os caminhos ou cenários que serão abordados.

Para uma ação mais efetiva dos testes, ocorre um mini-desenvolvimento dos testes automatizados, como o da codificação de uma aplicação do planejamento com objetivos, estratégias, definições dos scripts, analise, design e codificação dos scripts, mesmo que seja de forma automática (record-and-play). Sempre devemos ter toda esta preparação antes de começarmos a criar um script de automação, salvo a exceção de você automatizar seus Casos de Teste. Se você optar por automatizar todos os Casos de Teste já existentes uma matriz de rastreabilidade entre scripts e casos é bem-vinda para uma melhor organização. Lembre-se de que o planejamento destes scripts deve ter sempre o caminho percorrido pelo aplicativo, entradas e saídas esperadas, bem como os pontos de verificação de uma determinada parte da aplicação.

Após esta primeira fase de levantamento de ações e estratégias é necessário pôr em prática o teste interno destes scripts. Devemos agrupar scripts com ações/funções semelhantes e adotar uma convenção de nomes para cada script e para o grupo de scripts. Durante a execução destes scripts a equipe de teste será capaz de medir o número de técnicas utilizadas e uma estimativa do número de procedimentos testados durante esta execução. Com isso podemos confrontar o número de testes manuais e saber se aquele script seria mais viável se testado manualmente. Um documento contendo todas estas iterações, execuções e desenho gráfico da execução dos scripts devem ser criados. Também devemos ter todo o esforço necessário para o apoio dos testes tanto manuais como automáticos.

Seguido todos estes processos teremos toda a arquitetura dos testes automatizados criada descrevendo a estrutura destes testes e definindo a maneira e quando os testes serão inseridos e organizados em apoio ao esforço total de testes.
Agora é necessário identificarmos os procedimentos de testes que serão os mais sofisticados e obter seus resultados, que serão definidos como parte do desenho dos testes. Como temos a intenção de criarmos um documento reutilizável devemos criar padrões para estes desenhos. Somente então, depois que estes padrões forem seguidos, teremos um programa de automação eficiente. Abaixo seguem os procedimentos:

Passos Descrição
1 Teste de revisão da arquitetura. A equipe de teste revisa a arquitetura de testes a fim de identificar as técnicas de teste aplicáveis.
2 Definição do Procedimento de Teste (fase de desenvolvimento). Esta definição é construída na fase do desenvolvimento dos testes, que identifica a série dos procedimentos que se aplica para os diferentes componentes e técnicas de teste.
3 Definição do Procedimento de Teste (fase do sistema). Esta definição é construída na fase do desenvolvimento do sistema de teste, que identifica a série de procedimentos que se aplica para diferentes técnicas de teste.
4 Padrões do Procedimento de Desenhos dos Testes.
Padrões de desenho e uma conversão de nomenclatura são aprovados para identificar os procedimentos sobre projetos desenvolvidos no passado ou em outros projetos.
5 Teste Manual x Teste Automatizado. Um procedimento de teste é descrito como sendo realizado manualmente ou como parte de um teste automatizado.
6 Sinalização dos Procedimentos de Teste para o detalhamento do desenho. Os procedimentos que se destacam são sinalizados e definidos como parte do desenho detalhado dos testes.
7 Desenho Detalhado dos Testes. Os procedimentos descritos na etapa acima são concebidos de forma detalhado no documento de  Desenho Detalhado dos Testes.
8 Teste de Mapeamento de Dados. Uma Matriz de Procedimentos de Teste é modificada toda vez que alterarmos os requisitos de teste de dados de cada procedimento de teste.

O exercício de desenvolver o procedimento de definição dos testes ajuda a quantificar a necessidade de esforço necessário. O desenvolvimento das definições envolve a definição do conjunto de cenários que serão desenvolvidos e executados pela equipe de teste. O exercício de desenhar este procedimento ajuda a organizar estes em grupos, sendo que uma nomenclatura deve ser adotada para nomear este grupo de procedimentos.

Na arquitetura dos testes temos basicamente duas abordagens: os testes baseados na arquitetura e os testes baseados em componentes.
Nos testes baseados em arquitetura desenhamos como e em qual componente os scripts serão executados e como faremos para integrar os testes de diversos componentes. Todos os resultados gerados e comportamentos terão de ser coletado, a fim de assegurar o funcionamento de todo o sistema. Uma atenção deve ser dada para a massa de testes utilizada, que deverá ser bem elaborada.

Já nos testes baseados em componentes temos os testes na unidade/produto especifico, nos preocupando com a assertividade de casos específicos dentro do componente, mas este deve também ser mapeado no desenho da arquitetura, já que podemos ter mais de um script validando a mesma funcionalidade ou um script validando várias funcionalidades ao mesmo tempo.

Não deixe de ler os outros posts relacionados:

Nenhum comentário:

Postar um comentário