segunda-feira, 26 de abril de 2010

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

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

3. Desenvolvimento dos Testes Automatizados
Para que os testes automatizados sejam reutilizáveis e de fácil manutenção padrões para o Desenvolvimento dos Testes devem ser definidos e seguidos. Logo após passar por todas as etapas anteriores estamos aptos a realizar o desenvolvimento dos testes.

Todo o desenvolvimento dos testes deve seguir uma abordagem iterativa e incremental e o processo de desenvolvimento dos testes muito bem alinhados com o processo de desenvolvimento do produto e todos os testes executados pela equipe de desenvolvimento (como os de caixa branca) podem ser reaproveitados para os testes de integração e testes dos componentes.

A equipe de teste deve desenvolver os procedimentos de teste de acordo com o cronograma de desenvolvimento e execução. O coordenador da equipe de testes deve acompanhar as atividades do desenvolvimento dos testes e acompanhar o cronograma e produzir um relatório de andamento destes testes. Com estes resultados saberemos o tempo real de cada teste, ajudando a criar cronogramas de teste mais precisos. Devemos atualizar o desenho da arquitetura dos testes, pois visualizaremos melhor a dependência de módulos e os scripts que deverão ser executados repetidamente durante o processo.

Abaixo segue a tabela que relaciona as fases do processo de desenvolvimento com as fases do processo de teste:


Fase Processo de Desenvolvimento Processo de Teste
Desenv. de Módulos (unidade) Desenhando os módulos pelos requisitos Planejamento dos testes e criação do ambiente.
Codificação do módulo Criação do desenho do teste e desenvolvendo a massa de dados
Debug do módulo Escrevendo os scripts de teste ou gravando cenários usando módulos.
Teste unitário de módulo Revisando os scripts de teste executando-os novamente. Usar ferramentas de teste unitário para apoio.
Correção de defeitos Re-executar os scripts de teste efetando testes de regressão testando se os defeitos estão corrigidos.
Conduzindo os testes de desempenho Verificar a escalabilidade do sistema e reunir todos os requisitos de performance
Integração Construindo sistemas por conexão de módulos.
Teste de integração dos módulos.
Revisão de problemas

Combinar scripts de teste unitário e adicionar novos scripts para demonstrar a integração dos módulos.
Ferramentas de apoio podem ser utilizadas.
Corrigir defeitos e atualizar status dos defeitos Re-executar os scripts de teste efetuando testes de regressão testando se os defeitos estão corrigidos.
Continuação dos testes de performance Verificar a escalabilidade do sistema e reunir todos os requisitos de performance
Sistema Revisão de problemas Integrar scripts automatizados em nível dos testes de sistema sempre que possível e desenvolver novos scripts e procedimentos. Execute os testes de sistema e sempre anote os resultados de cada teste.
Corrigir defeitos e atualizar status dos defeitos. Re-executar os scripts de teste efetuando testes de regressão testando se os defeitos estão corrigidos.
Aceitação Revisão do relatório de incidente Execute parte do teste de sistema, de acordo com os requisitos, para demonstração do teste de aceitação do usuário.
Correção de defeitos Re-executar os scripts de teste efetuando testes de regressão testando se os defeitos estão corrigidos.

Ao desenvolver os processos de automação de teste, baseados nos processos de desenvolvimento, o engenheiro de teste deve criar uma infra-estrutura de Automação, como um building block. Esta infra-estrutura conterá uma biblioteca de scripts em comum sendo reutilizável.

Durante os ensaios dos testes e nos testes do produto o engenheiro de teste pode fazer uso dessa infra-estrutura para reutilizar os procedimentos de teste, minimizar duplicações e diminuir o esforço em automatizar os testes.

Não deixe de ler os outros posts relacionados:

Nenhum comentário:

Postar um comentário