Processo de Testes

 

Padronização dos trabalhos e ampliação da organização e controle dos projetos de testes

 

Planejamento e Especificação dos Testes

Modelagem dos Testes e Preparação do Ambiente

Execução dos Testes e Análise dos Resultados

 

Como Funciona o Processo de Testes da Headway?

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.

Etapas do Processo de Testes da Headway

  1. Planejamento dos Testes
  2. Especificação dos Testes
  3. Modelagem de Testes
  4. Preparação do Ambiente
  5. Execução dos Testes
  6. Análise dos Resultados
  7. Encerramento do Processo
Processo de Testes

Detalhes das Etapas do Processo de Testes Headway

Planejamento dos Testes

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

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 infraestrutura 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).

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

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

Modelagem de Testes

Esta etapa é caracterizada pela identificação de todos os elementos necessários para a implementação de cada caso de testes especificado. Fazem parte desta etapa a modelagem das massas de testes e a definição dos critérios de tratamento de arquivos (envelhecimento, descaracterização e comparação de resultados).

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 "Modelagem dos Testes".

Criação dos Roteiros de Testes:

  • Identificar os roteiros de testes que atenderão os novos casos de testes;
  • Especificar os procedimentos para iniciar um caso de teste (setup);
  • Especificar os procedimentos de execução do caso de teste (execute);
  • Especificar os procedimentos de validação do caso de teste (check);
  • Especificar os procedimentos de limpeza após a execução de um caso de teste (cleanup);
  • Realizar a organização dos roteiros de forma a facilitar a localização dos mesmos;
  • Revisar os Roteiros de Testes com os Executores de Testes (teste manual).

Detalhamento da Massa de Entrada:

  • Identificar os novos pontos de simulação (entradas simuladas);
  • Estruturar e atualizar os "layouts" da Massa de Entrada, de acordo as mudanças aplicadas;
  • Para cada caso de teste, realizar o detalhamento da massa de entrada de dados;
  • Identificar campos que serão parametrizados para gerar "variações de casos de testes";
  • Garantir a rastreabilidade entre o caso de teste e a massa de entrada.

Detalhamento da Massa de Saída:

  • Identificar os novos pontos de validação (saídas esperadas ou "baseline");
  • Estruturar e atualizar os "layouts" da Massa de Saída, de acordo as mudanças aplicadas;
  • Para cada caso de teste, realizar o detalhamento da massa de saída de dados esperada;
  • Identificar campos que serão parametrizados para atender "variações de casos de testes";
  • Garantir a rastreabilidade entre o caso de teste e a massa de saída.

Critérios de Tratamento da Massa de Testes:

  • Identificar os critérios de descaracterização da massa de testes (campos protegidos);
  • Identificar os critérios de envelhecimento da massa de testes (campos datas);
  • Identificar os critérios de substituição da massa de testes (variáveis do ambiente);
  • Identificar os critérios de variação da massa de testes (cenários de testes).

Implementar as Adaptações da Arquitetura dos Testes:

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

Elaboração do Plano de Execução dos Testes:

  • Identificação dos diversos "sites" (estações de trabalho) para a execução dos testes;
  • Identificação dos diversos equipamentos que serão necessários para a execução dos testes;
  • Identificação das diversas configurações que serão exigidas para cada "site" e equipamento;
  • Identificação das licenças de uso para os softwares que deverão ser empregados;
  • Distribuir os casos de testes pelas suas características (horários, condições especiais, categorias);
  • Priorizar a execução dos testes por importância (progressivos, severidade, categorias, duração);
  • Identificar as responsabilidades de monitorar a execução dos testes de cada distribuição.

Preparação do Ambiente

Esta etapa é caracterizada por um conjunto de atividades que visa a disponibilização física de um ambiente de testes "segregado" que esteja pronto para sofrer a bateria de testes planejadas nas etapas anteriores, sem que existam "intervenções humanas" que interrompam o processo "contínuo" dos testes.

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 "Análise dos Resultados".

Instalação do Aplicativo a ser Testado:

  • Identificar a versão do aplicativo que deverá sofrer a execução dos testes;
  • Baixar a versão do aplicativo e de seus componentes;
  • Baixar a versão do Banco de Dados e arquivos de configuração correspondentes;
  • Aplicar os procedimentos de instalação, objetivando disponibilizar o aplicativo para uso.

Instalação da Arquitetura de Testes:

  • Identificar a versão da arquitetura de testes compatível com a versão do aplicativo a ser testada;
  • Baixar a versão da automação e seus respectivos Bancos de Dados;
  • Baixar a versão dos simuladores e componentes da arquitetura (automatizada ou não);
  • Baixar a versão dos scripts (batchs);
  • Baixar as ferramentas de produtividade para acelerar o processo de testes de software;
  • Aplicar os procedimentos de instalação, objetivando disponibilizar a arquitetura de testes.

Homologação da Nova Arquitetura:

  • Selecionar um pequeno conjunto de testes para avaliar a instalação da arquitetura de testes;
  • Gerar a Massa de Testes (Entrada e Saída) para realizarmos a simulação;
  • Realizar os procedimentos de Execução e Conferência dos Testes nos diversos "sites";
  • Avaliar se os resultados obtidos estão "coerentes" com as mudanças da arquitetura e ambiente;
  • Obter o Aceite dos Analistas de Testes.

Geração da Massa de Testes:

  • Identificar a versão da massa de testes compatível com a versão do aplicativo a ser testada;
  • Gerar a Massa de Entrada nos respectivos diretórios (Pontos de Simulação);
  • Gerar a Massa de Saída nos respectivos diretórios (Pontos de Validação);
  • Avaliar se as informações foram tratadas adequadamente.

Execução dos Testes

Esta etapa é caracterizada pela execução e conferência dos testes planejados, de forma a garantir que o comportamento do aplicativo permanece em "conformidade" com os requisitos contratados pelo Cliente.

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 "Execução dos Testes".

Disponibilização do Ambiente dos Testes:

  • Parametrização da distribuição da carga dos testes nos diversos "sites" de execução;
  • Limpeza de Diretórios que serão manipulados durante a execução e conferência dos testes;
  • Avaliação da disponibilidade da Infraestrutura (Servidores, Redes, Comunicação, Disco);
  • Acionar ferramentas de monitoramento de interrupção "anormal" de processamento.

Execução dos Casos de Testes Progressivos:

  • Executar os casos de testes "progressivos" selecionados, respeitando a priorização estabelecida;
  • Coletar as evidências dos casos de testes executados (armazenamento padronizado);
  • Comparar as evidências que possuem "resultado esperado" (possui baseline);
  • Analisar as evidências que não possuem "resultado esperado" (ausência baseline);
  • Identificar os casos de testes em "conformidade" com os requisitos;
  • Identificar os casos de testes em SUSPEITA de "não-conformidade" com os requisitos.

Confirmação dos Resultados Progressivos:

  • Re-Executar os casos de testes progressivos em SUSPEITA de "não-conformidade";
  • Analisar as evidências e compará-las com o baseline (se existir) e resultados anteriores;
  • Identificar os FALSOS-POSITIVOS e apontar imprecisão do processo de comparação;
  • Identificar os DUPLO-POSITIVOS e atestar a "não-conformidade" com os requisitos.

Execução dos Casos de Testes Regressivos:

  • Executar os casos de testes "regressivos" selecionados, respeitando a priorização estabelecida;
  • Coletar as evidências dos casos de testes executados (armazenamento padronizado);
  • Comparar as evidências com o "resultado esperado" (possui baseline);
  • Identificar os casos de testes em "conformidade" com os requisitos;
  • Identificar os casos de testes em SUSPEITA de "não-conformidade" com os requisitos.

Confirmação dos Resultados Regressivos:

  • Re-Executar os casos de testes regressivos em SUSPEITA de "não-conformidade";
  • Analisar as evidências e compará-las com o baseline existente (sempre deverá existir);
  • Identificar os FALSOS-POSITIVOS e apontar imprecisão do processo de comparação ou baseline;
  • Identificar os DUPLO-POSITIVOS e atestar a "não-conformidade" com os requisitos;
  • Comunicar a Finalização da Etapa de "Execução dos Testes" (interna).

Análise dos Resultados

Esta etapa é caracterizada pela análise e confirmação dos resultados relatados durante a fase de execução dos testes. Os resultados em "não-conformidade" deverão ser "confirmados" e "detalhados" para que a Fábrica de Software realize as correções necessárias. Já os casos de testes progressivos em "conformidade" deverão ter seu resultado "POSITIVO" reconfirmado e seu "baseline" atualizado.

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 "Análise dos Resultados".

Revisão dos Resultados em "Não-Conformidade":

  • Identificar os casos de testes que obtiverem "não-conformidades";
  • Avaliar as evidências dos testes e realizar a confirmação da "não-conformidade";
  • Identificar os FALSOS-POSITIVOS e apontar imprecisão do processo de comparação;
  • Revisão da Análise dos Casos de Testes Progressivos em "Conformidade":
  • Identificar os casos de testes progressivos que estão em "conformidade" com os requisitos;
  • Revisar as evidências e atestar a "conformidade" dos casos de testes;
  • Identificar os FALSOS-NEGATIVOS e apontar imprecisão do processo de análise dos resultados.

Atualização do Baseline:

  • Identificar os casos de testes progressivos em "conformidade" e atualizar seu "baseline";
  • Identificar os casos de testes em "não-conformidade" e atualizar o "baseline" esperado;
  • Guardar o baseline (backup) para a ser empregado na próxima execução dos testes.

Formalização dos Defeitos Detectados:

  • Isolar cada caso de testes que resultou numa "não-conformidade";
  • Coletar todas as evidências que provam a não conformidade;
  • Detalhar as condições em que foram estabelecidas cada caso de teste em "não-conformidade";
  • Realizar a classificação de cada defeito identificado ("aplicativo", "natureza", "severidade");
  • Reunir todas as informações e formalizar os defeitos detectados;
  • Comunicar a Finalização da Etapa de "Análise dos Resultados" (externa).

Negociação de um Novo Ciclo de Testes (se necessário):

  • Avaliar a necessidade de um novo ciclo de testes diante da qtde e severidade dos defeitos;
  • Reavaliar os impactos de outros projetos diante da necessidade de um novo ciclo de testes;
  • Avaliar o nível de cobertura dos testes a ser considerado (ciclo completo ou reduzido);
  • Avaliar a possibilidade de aplicar os testes em paralelo ao processo de homologação/implantação.

Encerramento do Processo

Esta etapa é caracterizada pela avaliação de todo o Processo de Teste de Software, comparando os resultados alcançados em relação ao que foi inicialmente planejado. Neste momento, diversos indicadores são extraídos, visando avaliar qualitativamente e quantitativamente o desempenho do trabalho, através de comparações históricas de projetos anteriores.

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 "Encerramento do Processo".

Extração dos Indicadores (Individuais / Projeto):

  • Extrair os indicadores quantitativos (critérios objetivos);
  • Extrair os indicadores de produtividade (critérios objetivos);
  • Extrair os indicadores de confiabilidade (critérios objetivos);
  • Extrair os indicadores financeiros (critérios objetivos);
  • Extrair os indicadores de nível de satisfação (critérios subjetivos).

Resumo do Processo de Testes:

  • Registrar um Resumo do Processo de Testes;
  • Registrar a Lista de Defeitos Detectados;
  • Registrar Níveis de Serviço Alcançado X Planejado;
  • Registrar Nível de Cobertura de Alcançado (Requisitos Garantidos);
  • Registrar Indicadores Obtidos do Processo;
  • Registrar Lições Aprendidas;
  • Registrar Detalhamento dos Ciclos de Testes Realizados (Caminho Crítico);
  • Anexar e-mail’s sobre o processo;
  • Divulgação Corporativa do Resultado do Projeto de Testes.

Análise dos Indicadores do Processo

  • Comparar indicadores quantitativos com históricos;
  • Comparar indicadores de produtividades com históricos;
  • Comparar indicadores de confiabilidade com históricos;
  • Comparar indicadores financeiros com históricos;
  • Comparar indicadores de nível de satisfação com históricos;
  • Analisar indicadores e avaliar tendências dos indicadores;
  • Sugerir ações para promover melhorias ou reverter tendências negativas;
  • Divulgação Corporativa dos Níveis de Serviço alcançados pelo Processo de Testes.

Versionamento do Processo de Teste

  • Versionar todos os artefatos produzidos durante o processo de testes;
  • Versionar todos os fontes empregados na automação dos testes;
  • Versionar todos os fontes empregados nos simuladores;
  • Versionar todas as ferramentas de produtividade empregadas nos testes;
  • Versionar todos os instrumentos de limpeza e instalação do ambiente de testes;
  • Versionar todos os elementos necessários para aplicar os casos de testes gerenciados;
  • Garantir uma única configuração que garanta a recuperação de todos os artefatos de testes;
  • Garantir uma rápida e precisa recuperação dos testes, no caso de "testes emergenciais".

Avaliação Final e Melhoria do Processo:

  • Avaliar os riscos planejados e os que foram concretizados;
  • Avaliar a performance do projeto em relação aos históricos existentes;
  • Atualizar Plano de Melhoria Contínua;
  • Comunicar a Finalização da Etapa de "Encerramento do Processo" (interna).

Alphaville

  +55 11 97627-0682
  Av. Dr. Yojiro Takaoka, 4384 - Conj 404
Alphaville, Santana de Parnaíba/SP - Brasil
CEP: 06541-038

São Paulo

  +55 11 99908-8889
  Rua Mourato Coelho, 90 - Conj 11/14
Pinheiros, São Paulo/SP - Brasil
CEP: 05417-000

SERVIÇOS
QA - Testes Fábrica de Testes Processo de Testes Tipos de Teste CCM Winshuttle Studio Winshuttle Transaction Winshuttle Query Winshuttle Direct Winshuttle Runner Winshuttle Journal Entry Winshuttle Foundation User Governance SAP Integration Services Workflow Applications Automação de Processos Desenvolvimento Consultoria