DevSecOps

7 mai, 2007

Processo de Teste de Software – Parte 01

Publicidade

O Processo de Testes de Software representa uma estruturação de etapas, atividades, artefatos, papéis e responsabilidades que buscam a padronização dos trabalhos e ampliar a organização e controle dos projetos de testes.

O Processo de Teste, como qualquer outro processo deve ser revisto continuamente, de forma a ampliar sua atuação e possibilitar aos profissionais uma maior visibilidade e organização dos seus trabalhos, o que resulta numa maior agilidade e controle operacional dos projetos de testes.

Etapa 1: Planejamento dos Testes

Esta etapa caracteriza-se pela definição de uma proposta de testes baseada nas expectativas do Cliente em relação à prazos, custos e qualidade esperada, possibilitando dimensionar a equipe e estabelecer um esforço de acordo com as necessidades apontadas pelo Cliente.

Dinâmica das Macro-Atividades

Este diagrama representa a seqüência das “macro-atividades” a serem executadas na etapa de “Planejamento dos Testes”.

Detalhamento das Macro-Atividades

Esta lista representa o conjunto de atividades que deverão ser executadas para que cada macro-atividade seja considerada finalizada, funcionando como um “check-list” de execução da etapa de “Planejamento dos Testes”.

Estudo do Projeto:

  • Estudar as modificações solicitadas pelo Cliente (novos requisitos);
  • Estudar as modificações de arquiteturas dos aplicativos;
  • Estudar as lições aprendidas dos Projetos Anteriores;
  • Avaliar expectativas de custos, prazos e qualidade exigidas pelo Cliente;
  • Avaliar os riscos envolvidos nos Projetos e seus impactos neste processo;

Avaliação de Impacto:

  • Avaliar se o projeto exige a criação de casos de testes “progressivos”;
  • Avaliar se o projeto exige modificações em casos de testes “regressivos”
  • Avaliar se o projeto exige adequações na automação dos testes;
  • Avaliar se o projeto exige adequação nas atuais ferramentas empregadas;
  • Avaliar se o projeto exige a aquisição/construção de novas ferramentas;
  • Avaliar se o projeto exige modificações na estruturação do ambiente;

Análise Interna de Esforço

  • Levantar métricas históricas para auxiliar na elaboração das estimativas de esforço;
  • Estimar esforço interno para absorção dos impactos da Arquitetura dos Testes;
  • Demonstrar esforço externo para absorção dos impactos da Arquitetura dos Testes;

Análise Externa de Esforço:

  • Avaliar disponibilidade de espaço físico e infra-estrutura para os Terceiros;
  • Especificar as necessidades de adequações que serão repassadas a Terceiros;
  • Especificar métricas de qualidade e produtividades esperadas;
  • Especificar SLA’s de serviço e multas contratuais;
  • Estabelecer concorrência e obter a melhor proposta (opcional);
  • Receber Proposta de Trabalho (Cronograma, Prazos e Custos da Terceirização);

Definição de Cenários Possíveis (Duração, Esforço, Custo e Qualidade):

  • Levantar Lista de Projetos em Andamento e a serem Iniciados;
  • Avaliar a disponibilidade de recursos internos para alocação no Projeto;
  • Identificar Cenários Diversos (Terceirização, Redução de Escopo, Repriorização de Projetos);
  • Definir Cronograma-Macro para cada cenário identificado;
  • Definir Riscos para cada cenário identificado e Planos de Ação Esperados;
  • Estabelecer Propostas e Aguardar aprovação da Diretoria;

Aprovação do Planejamento:

  • Obter o Aceite das Propostas de Cenários Aprovados pela Diretoria;
  • Obter o Aceite de uma das Propostas pelo Cliente;
  • Divulgar do Cenário Aprovado do Projeto aos colaboradores e terceiros;
  • Obter a Assinatura do CONTRATO-MESTE e elaborar os ANEXOS; (no caso de terceirização)
  • Alocar Espaço Físico dos Terceiros; (no caso de terceirização)
  • Comunicar a Finalização da Etapa de Planejamento dos Testes; (externo)

Definição das Responsabilidades

Neste diagrama, está a representação dos papéis e responsabilidades para cada grupo de atividades envolvido na etapa de “Planejamento dos Testes”.

Mapeamento dos Artefatos

Nesta representação gráfica, estão destacados os “artefatos de entrada” exigidos como premissa para que cada macro-atividade possa ser realizada. Também são destacados os “artefatos de saída” produzidos como resultado da atividade.

Etapa 2: Especificação dos Testes

Esta etapa é caracterizada pela identificação dos casos de testes que deverão ser construídos e modificados em função das mudanças solicitadas pelo Cliente, bem como pelo próprio aperfeiçoamento do processo de testes (ampliação da cobertura).

Dinâmica das Macro-Atividades

Este diagrama representa a seqüência das “macro-atividades” a serem executadas na etapa de “Especificação dos Testes”.

Detalhamento das Macro-Atividades

Esta lista representa o conjunto de atividades que deverão ser executadas para que cada macro-atividade seja considerada finalizada, funcionando como um “check-list” de execução da etapa de “Especificação dos Testes”.

Estudo dos Requisitos:

  • Estudar os requisitos funcionais e não funcionais solicitadas pelo Cliente (novos requisitos);
  • Estudar as modificações de requisitos solicitados pelo Cliente (mudanças de requisitos);
  • Revisar os artefatos e identificar “inconsistências” dos requisitos;
  • Estabelecer o Aceite dos Documentos fornecidos e “feedback” da qualidade dos mesmos;
  • Estudar as lições aprendidas da Etapa “Especificação de Testes”;

Especificar as Adaptações da Arquitetura dos Testes:

  • Especificar as adequações nas atuais ferramentas empregadas;
  • Especificar as novas ferramentas exigidas pelo projeto;
  • Especificar as modificações estruturais na organização do ambiente;
  • Especificar as adequações na automação da preparação do ambiente (script de teste);
  • Especificar as adequações na automação da execução dos testes (script de teste);
  • Especificar as adequações na automação da análise dos resultados (script de teste);

Identificação dos Casos de Testes

  • Identificar cada solicitação de mudança requisitada pelo Cliente;
  • Identificar todos os Casos de Uso envolvidos em cada solicitação;
  • Identificar Casos de Uso não cobertos adequadamente por Casos de Testes; (legado)
  • Identificar todos o Fluxos do Caso de Uso (Básico, Alternativo e Exceção);
  • Identificar os casos de testes que garantam cada Fluxo do Caso de Uso;

Refinamento dos Casos de Testes:

  • Estabelecer dinâmica com os Analistas de Testes que possuem conhecimento horizontal;
  • Apresentação de um quadro-geral do impacto das mudanças nos respectivos aplicativos;
  • Cada Analista de Testes apresenta seus casos de testes por aplicativo;
  • O grupo de Analistas de Testes criticam e sugerem melhorias nos casos de testes;
  • O grupo de Analista de Testes avaliam o nível de cobertura alcançado;
  • Novas reuniões serão realizadas até que seja alcançado o patamar ideal de casos de testes;

Aceite dos Casos de Testes:

  • Identificar Áreas-Chaves para apresentação dos casos de testes (Clientes Internos e Externos)
  • Apresentar os casos de testes “progressivos” que serão aplicados nos testes;
  • Apresentar os casos de testes “regressivos” que serão aplicados nos testes;
  • Realizar refinamento dos casos de testes apresentados (“regressivos e progressivos”);
  • Estabelecer o acordo Mútuo de Responsabilidade sobre o Nível de Qualidade do Software;

Refinamento do Projeto de Testes:

  • Reavaliar as estimativas de esforço e duração do Processo de Teste; (se necessário)
  • Estabelecer um Cronograma-Detalhado, baseado no Cronograma-Macro já elaborado;
  • Reavaliar riscos do Projeto em função de uma maior detalhamento sobre os requisitos;
  • Negociar eventuais modificações em relação à duração, prazo e custo do projeto de testes;
  • Comunicar a Finalização da Etapa de “Especificação dos Testes”; (externo)

Definição das Responsabilidades

Neste diagrama, está a representação dos papéis e responsabilidades para cada grupo de atividades envolvido na etapa de “Especificação dos Testes”.

Mapeamento dos Artefatos

Nesta representação, estão destacados os “artefatos de entrada” exigidos como premissa para que cada macro-atividade possa ser realizada. Também são destacados os “artefatos de saída” produzidos como resultado da atividade.

Bom, por hoje é isso, encontro vocês na segunda parte do artigo.

Grande abraço!