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