Infra - Segurança

TMap Next(Test Management Approach) - Processo Plano de Testes Mestre(MTP) - Planejamento e Controle - Parte 8-2

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.

por Fábio Martinho Campos



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.

q 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.

q 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.

q 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.

q 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.

q 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 Realisation do Modelo V já apresentado).

q 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.

q 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;
  1. 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;
  2. 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;
  3. 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;
  4. 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;
  5. 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;
  6. 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);
  7. 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;
  8. Definir os produtos de teste – Definir claramente os produtos de testee que serão entregues;
  9. Definir a organização – Definir os papéis, tarefas, autorizações e responsabilidades que são aplicáveis ao nível de teste;
  10. Definir a infra-estrutura – Estabelecer a infra-estrutura necessária para o processo de testes;
  11. Organizar o gerenciamento – Estabelecer uma maneira a qual o gerenciamento do processo de teste, infra-estrutura, produtos de teste e defeitos sejam organizados;
  12. 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;
  13. 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;
  1. Monitoração – Monitorar o processo de teste, baseado em dados gerenciados internamente e informações externas;
  2. 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;
  3. 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;
  1. Realizar a infra-estrutura – Realizar a infra-estrutura de acordo com a especificação detalhada à partir da atividade anterior;
  2. Especificar a entrada da infra-estrutura – Especificar o método pelo qual a entrada da infra-estrutura é realizada;
  3. Entrada da infra-estrutura – Realizar a entrada como preparado na atividade anterior;
  4. 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;
  5. 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:

q Prover feedback na qualidade da base de teste(test basis) e seu impacto no programa de teste planejado;

q Discutir pontos fracos no design do sistema a tempo;

q 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;
  1. 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;
  2. 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;
  1. Preparar os pontos de partida(starting points) – Preparar os pontos de partida(starting points) necessários para a execução dos teste;
  2. Executar os (re) testes – Obter os resultados do teste, com base naqual a avaliação doobjeto de testepode ser realizada;
  3. 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ênciaadquirida duranteos testes e preservaro testwarepara reutilização em testesfuturos

Atividades e suas Metas

    Avaliar o processo de teste - Aprender com a experiênciaadquirida duranteos testes completados e documentar os pontos de aprendizado para os testes futuros;
  1. 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

     - Site TMap Next: http://eng.tmap.net/Home/

-TMap Next Downloads: http://eng.tmap.net/Home/TMap/Downloads/index.jsp

          - Glossário TMap Next: http://eng.tmap.net/Home/TMap/Glossary.jsp

Fábio Martinho Campos

Fábio Martinho Campos - Bacharel em Computação pela UNITAU (Universidade de Taubaté), MBA em Gestão de Projetos pelo IPT (Instituto de Pesquisas Tecnológicas-USP). Trabalhou no INPE-MCT (Instituto Nacional de Pesquisas Espaciais) em São José dos Campos como analista de sistemas e desenvolvedor web da Intranet e Internet por dois anos. Trabalhou na empresa alemã Liebherr Guindastes e Máquinas Operatrizes como analista de sistemas e desenvolvedor web, atuando também como analista de processos para o projeto de GED (Gerenciamento Eletrônico de Documentos) da empresa. Na IBM Brasil trabalhou por um ano como analista de teste no GTO (Global Test Organization) e SEA&T (System Engineer Architecture and Test) no projeto internacional Blue Horizon Configurator. Ainda na IBM trabalhou no Projeto CADU e SCFI do Banco Bradesco. Possui as certificações CBTS (Certificação Brasileira de Teste de Software), CQA (Certified Quality Assurance), CST (Certified Software Testing), COBIT(ISACA), ISTQB/ISEB(CTFL) e IBM Certified Specialist – Software Quality. É palestrante da disciplina de Teste de Software e Qualidade de Software, contribui para o crescimento do mercado de Teste de Software no Brasil através de palestras e eventos em universidades.