Processo de Testes de Sistema e Aceite
Os processos de Teste de Sistema e Aceite são considerados como autônomos para serem organizados. Eles têm seus próprios planos de teste, orçamentos e freqüentemente seus próprios ambientes de teste.
Os processos de Teste de Sistema e Aceite "rodam" em paralelo ao processo de desenvolvimento de software, o qual deve ser iniciado enquanto as especificações funcionais são criadas.
O modelo de Ciclo de Vida do TMap Next é usado na criação do plano de teste e na execução de outras atividades no processo de teste.
Um ciclo de vida de teste é necessário para estruturar várias atividades, suas ordens e dependências. O modelo de ciclo de vida é um modelo genérico e pode ser aplicado a todos os níveis e tipos de teste de teste e utilizado em paralelo com os modelos de ciclo de vida para o desenvolvimento do sistema.
Testes de Sistema e Aceite
No modelo de ciclo de vida TMap Next, as atividades de teste são divididos em sete fases: Planejamento, Configuração e Manutenção da Infra-Estrutura, Preparação, Especificação, Execução e Conclusão.
- Planejamento: Na fase de planejamento, o gerente de teste formula uma abordagem coerente que é suportada pelo cliente para realizar adequadamente a tarefa de teste. As atividades executadas nesta fase criam a base para um processo de teste gerenciável e de alta qualidade. Organizações não têm dinheiro nem tempo para testar o sistema de forma completa! Por isso, a estratégia de teste, estimar e planejamento são determinados de acordo com o processo de análise de riscos(BDTM 1 - 4). Determinação das técnicas de teste utilizadas(BDTM 5). Os primeiros passos para a configuração de uma organização e infra-estrutura de testes são criados.
- Controle: Na fase de controle, as atividades no plano de teste são executadas, monitoradas e ajustadas, se necessário. Fornecer ao cliente uma visão adequada e controle sobre o progresso e qualidade do processo e objeto de teste. Se necessário, o gerente de teste propõe ao cliente medidas de controle específicas de acordo com suas necessidades. O GT provê informações como demoras no desenvolvimento, grandes mudanças de escopo e ajustes de projeto. Informação é o principal produto de teste! O gerente de teste cria diferentes tipos de relatórios para os vários tipos de stakeholders, levando-se em consideração os aspectos do BDTM: resultado, risco, tempo e custo.
- Configuração e Manutenção da Infra-estrutura: A fase de configuração e manutenção da infra-estrutura visa fornecer a infra-estrutura e recursos necessários de teste que são usados em várias fases do e atividades TMap. Existe uma distinção entre: ambientes(environment), ferramentas(tools) e local de trabalho(workplace). Geralmente a configuração e manutenção da infra-estrutura pertence a outra área dentro da organização e requer outros conhecimentos que testadores não possuem, porém são altamente dependentes da infra-estrutura e ambientes. Se não há ambientes, não há teste! Esta fase é realizada em paralelo com as fases de Preparação, Especificação, Execução e Conclusão.
- Preparação: Ter acesso a uma base de testes de qualidade para se criar casos de teste, a qual foi acordada com o cliente do teste. Realização da revisão de testabilidade da base de teste(test basis) como forma de melhorar a qualidade e prevenir erros potencialmente caros. A equipe de desenvolvimento trabalha no sistema a partir de informações nas documentações do projeto. Tais documentações podem conter erros, causando freqüentemente altos custos de correção de trabalho. O quanto antes um erro for encontrado no processo de desenvolvimento, mais fácil(e barato) será corrigir.
- Especificação: A fase de especificação elabora os testes e situações de início necessárias. A meta é preparar o maior número de testes possíveis que possam ser executados quando o desenvolvimento entregar o objeto de teste(test object). Esta fase inicia uma vez que a revisão da testabilidade foi realizada. A especificação dos testes corre em paralelo com a construção do software(Na fase Realisationdo Modelo V já apresentado).
- Execução: A meta da fase de execução é ter uma visão da qualidade sobre o objeto de teste, executando-se os testes acordados. O objeto de teste é instalado no ambiente de teste. Executa-se um primeiro teste também chamado de pré-teste, para avaliar se o objeto de teste está funcionando adequadamente para um teste mais extensivo. O teste pode ser executado na forma de scripts de teste criados na fase de especificação. Os resultados de teste verificados durante a execução. As diferenças entre os resultados previstos e atuais são registrados na forma de relatórios de defeitos.
- Conclusão: A abordagem por testes estruturados do TMap traz muitos benefícios na capacidade de se repetir o processo, permitindo que produtos possam ser reutilizados, acelerando assim algumas atividades. Produtos tangíveis podem ser casos de teste, ambientes e produtos intangíveis tais como experiência(avaliação do processo). O processo de teste é também avaliado nesta fase. A meta é aprender das experiências adquiridas e aplicar lições aprendidas em um novo projeto. Durante a fase de controle, o GT prepara o relatório final de testes e apresenta nesta fase.
Fase de Planejamento dos Testes de Sistema e Aceite - Meta do Planejamento
- Formular uma abordagem coerente e amplamente suportada, a qual as atribuições de teste possa ser executadas com sucesso. Uma parte importante da fase de planejamento é a criação do Plano de Teste para o propósito de informar ao cliente e stakeholders a respeito da abordagem, cronogramas, orçamentos/custos, atividades e produtos finais que serão entregues em relação ao processo de teste. Se um Plano de Teste Mestre existir, o Plano de Teste deveria ser derivado deste.
Atividades e suas Metas
Estabelecer as atribuições - Um teste de sistema ou aceite começa com a formulação das atribuições de teste para que a meta, tarefas e responsabilidades do nível de teste estejam claras para todos os envolvidos;
Entender as atribuições - Obter visão na organização(projeto), a meta e o propósito do processo de desenvolvimento de sistemas, o sistema e o pacote que será testado e os requisitos a serem cumpridos, para que uma melhor direção possa ser dada para outros passos no planejamento;
Determinar a base de testes(test basis) - a definição inequívoca da base de testes(test basis), para que seja conhecido em estágios iniciais com o que o objeto de teste será comparado;
Analisar os riscos do produto - Ter os participantes e o Gerente de Teste uma perspectiva em comum sobre as partes e características do sistema baseado no nível do risco;
Determinar a estratégia de testes - Decidir, baseado na visão dos níveis de riscos associados com as partes/ características do sistema, nos tipos de teste a serem usados, e na profundidade de testes para cada(combinação de) característica/parte do objeto do sistema;
Estimar o esforço - Estimar o esforço para o nível de teste baseado na estratégia de teste, para que o cliente possa aceitar ou requisitar ajustes;
Determinar o planejamento - Criar um planejamento o mais realístico possível para o nível de teste, para que o cliente possa ter permissão e gerenciar adequadamente. O princípio do planejamento é achar os defeitos mais significantes primeiramente(achar defeitos os quais pertencem ao escopo do nível de teste);
Alocar unidades de teste e técnicas de teste - Finalizar os tipos de teste e abrangência do teste(mais profundo/mais superficial) das características/partes do objeto baseados na estratégia de testes aprovada,budget e planejamento;
Definir os produtos de teste - Definir claramente os produtos de testee que serão entregues;
Definir a organização - Definir os papéis, tarefas, autorizações e responsabilidades que são aplicáveis ao nível de teste;
Definir a infra-estrutura - Estabelecer a infra-estrutura necessária para o processo de testes;
Organizar o gerenciamento - Estabelecer uma maneira a qual o gerenciamento do processo de teste, infra-estrutura, produtos de teste e defeitos sejam organizados;
Determinar os riscos do projeto de teste e contramedidas - Citar explicitamente os riscos para o nível de teste. Isto irá prover ao cliente e outros stakeholders com um melhor entendimento dos riscos para o teste e eles podem permitir isso um direcionamento no processo total;
Feedback e consolidação do plano - Documentar os resultados de todas as atividades realizadas até o momento e obter a aprovação do cliente para a abordagem escolhida.
Fase de Controle dos Testes de Sistema e Aceite - Meta do Controle
- Prover ao cliente com uma visão suficiente e oportunidade para influenciar as seguintes opções: o progresso do processo de teste, a qualidade e os riscos do objeto de teste e a qualidade do processo de testes. O Gerente de Testes deve controlar e reportar o processo total de testes.
Atividades e suas Metas
Gerenciamento - Gerenciar o processo de teste, os defeitos e os produtos de teste com o objetivo de prover uma visão contínua no progresso e qualidade do processo de teste e qualidade do objeto de teste;
Monitoração - Monitorar o processo de teste, baseado em dados gerenciados internamente e informações externas;
Reporte - Criar relatórios que provêem visão em ambas a qualidade do objeto de teste e o progresso/qualidade do progresso de teste. Estes relatórios garantirão que o cliente e outros stakeholders possam dirigir o curso do teste eficientemente;
Ajuste - Ajustar o processo de teste(em consulta com o cliente quando necessário).
Fase de Configuração e Manutenção da Infra-estrutura dos Testes de Sistema e Aceite - Meta da Configuração e Manutenção da Infra-estrutura
- Prover a infra-estrutura necessária, a qual é usada nas várias fases e atividades do TMap Next.
Atividades e suas Metas
Especificar infra-estrutura - Especificar a descrição da infra-estrutura necessária(à partir do MTP ou plano de teste) em um nível mais detalhado;
Realizar a infra-estrutura - Realizar a infra-estrutura de acordo com a especificação detalhada à partir da atividade anterior;
Especificar a entrada da infra-estrutura - Especificar o método pelo qual a entrada da infra-estrutura é realizada;
Entrada da infra-estrutura - Realizar a entrada como preparado na atividade anterior;
Manter a infra-estrutura - Manter a infra-estrutura(ambiente de teste, ferramentas de teste e lugares de trabalho) disponíveis para os testadores em um nível consistente de qualidade;
Preservar a infra-estrutura - A meta desta atividade é a identificação, atualizar e transferir a infra-estrutura para a manutenção, de modo que possa ser usada novamente em testes futuros. Esta atividade é opcional.
Fase de Preparação dos Testes de Sistema e Aceite - Meta da Preparação
- Obter, com o acordo do cliente, uma base de teste(test basis) de qualidade suficiente para a especificação dos casos de teste. A fim de determinar isso, a revisão da testabilidade da base de teste(test basis) é realizada durante esta fase, a qual irá prover uma visão da testabilidade do sistema.
Atividades e suas Metas
1. Coletar bases de teste(test basis) - A coleta da base de teste(test basis) definitiva, e se necessária reformulada, é estabelecida em consulta com o cliente;
2. Criar checklists - As checklists são criadas, baseadas na estratégia de testes estabelecida no plano de teste, para as várias partes do objeto/características em teste. Estas checklists formam um guia na avaliação da base de teste(test basis);
3. Avaliar as bases de teste(test basis) - Estabelecer a testabilidade da base de teste(test basis). Testabilidade aqui quer dizer completude, consistência, acessibilidade e tradução em casos de teste;
4. Criar o relatório de revisão da testabilidade - O relatório de revisão a testabilidade:
- Prover feedback na qualidade da base de teste(test basis) e seu impacto no programa de teste planejado;
- Discutir pontos fracos no design do sistema a tempo;
- Obter informação nos riscos do projeto.
Fase de Especificação dos Testes de Sistema e Aceite - Meta da Especificação
- Durante a fase de especificação, os testes necessários e pontos de partida(starting points) são especificados. A meta é ter o máximo possível preparado, a fim de ser capaz de rodar os testes o mais rápido possível quando os desenvolvedores entregarem o objeto de teste.
Atividades e suas Metas
Criar as especificações de teste - A criação das especificações de teste por unidade;
Definir pontos de partida centrais(central starting point(s)) - A definição de um ou mais pontos de partida centrais(central starting point(s)) os quais os testadores podem obter dados para suas especificações de teste;
Especificar a entrada do objeto de teste - A preparação da entrada do objeto de teste para que o teste possa começar o mais cedo possível após a entrega do objeto de teste.
Fase de Execução dos Testes de Sistema e Aceite - Meta da Execução
- Obter visão na qualidade do objeto de teste através da execução dos testes acordados
Atividades e suas Metas
Entrada do objeto de teste - Estabelecer se as partes entregues do objeto de teste funcionam de forma que um teste adequado possa ser realizado;
Preparar os pontos de partida(starting points) - Preparar os pontos de partida(starting points) necessários para a execução dos teste;
Executar os (re) testes - Obter os resultados do teste, com base na qual a avaliação do objeto de teste pode ser realizada;
Checar e avaliar os resultados de teste - Analisar as diferenças entre os resultados de teste obtidos e os resultados previstos nos scripts de teste ou checklists.
Fase de Conclusão dos Testes de Sistema e Aceite - Meta da Conclusão
- Aprender com a experiência adquirida durante os testes e preservar o testware para reutilização em testes futuros
Atividades e suas Metas
- Avaliar o processo de teste - Aprender com a experiência adquirida durante os testes completados e documentar os pontos de aprendizado para os testes futuros;
- Preservar o testware - Selecionar e atualizar os testwares produzidos de tal forma que seu uso otimizado possa ser feito em testes futuros.
Referências e Links:
- Livros utilizados para a base deste artigo e materiais de apoio
1. TMap Next, for result-driven testing
2. Software Testing: A guide to the TMap Approach
3. End-to-end testing with TMap Next
- Links
Fonte: Fábio Martinho campos
http://www.testexpert.com.br/?q=node/2017