teste de software - rafaeldiasribeiro.com.br · –os sistemas são distribuídos e incluem...
TRANSCRIPT
16/08/2011
1
Teste de Software
Rafael D. Ribeiro, [email protected]
http://www.rafaeldiasribeiro.com.br
Engenharia de SoftwareConceitos Básicos: Evolução
� Os primeiros anos (1950 a início dos 60)– Aplicações científicas e de engenharia
� A segunda era (1960 a meados de 80)– Aplicações comerciais em grande-porte (sistemas de informação BD)
� A terceira era (meados de 70 e década de 80)– Aplicativos pessoais em microcomputadores
� A quarta era (meados de 80 a meados de 90)– Aplicativos com Interfaces Gráficas– Redes e Arquitetura Cliente-Servidor
� A quinta era (de meados de 90 a ???)– Software Distribuídos,Internet, Groupwares e Intranets
� Sexta era??– Computação em Nuvens, Móvel e Ubíqua
16/08/2011
2
Desafios para a Indústria de Software
� Sistemas legados
– Sistemas antigos, mas de extrema importância para uma organização e que funcionam bem.◦ Linguagens antigas
◦ Falta de pessoal
◦ Específico de plataformas obsoletas
� Heterogeneidade
– Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional
� Entrega
– Existe sempre uma pressão forte para diminuir o tempo de entrega.
Engenharia de SoftwareConceitos Básicos: Evolução
Engenharia de SoftwareConceitos Básicos
Falhas de Software
� Ariane 5, 1996:◦ O foguete explodiu 40 segundos após a sua primeira decolagem.◦ Prejuízo de U$ 500 milhões◦ Foi aproveitado um pacote de software de navegação do Ariane 4 que não tinha erros.◦ No módulo Sistema de Referencia Inercial (SRI ) uma conversão de valores de 64-bits para 16-bits causou um operando inválido que o interrompeu◦ A falha no SRI levou o computador de bordo a modificar a trajetória do foguete levando à ruptura de juntas e isto causou a ativação da autodestruição.◦ No Ariane 5, o módulo SRI só deveria ter sido utilizado antes do lançamento.
16/08/2011
3
Engenharia de SoftwareConceitos Básicos
Falhas de Software
� London Ambulance System - despacho de ambulâncias em Londres, 1992.◦ Morte de pessoas que não foram socorridas em tempo.
◦ Problema de Gerência de Software:
– Responsáveis contrataram uma empresa desconhecida cujo valor cobrado era menor que os cobrados pelas empresas de renome.
– Colocaram o sistema no ar sem os devidos testes.
– Não foi feita uma migração correta do sistema antigo para o novo.
Engenharia de SoftwareConceitos Básicos
Falhas de Software
� Máquina de radioterapia com software controlador (1985 - 87).
◦ O controle de segurança feito pelo hardware em máquinas anteriores foi removido e passou a ser feito pelo software.
◦ O software falhou na tarefa de, ao mesmo tempo, manter invariantes essenciais: o feixe de elétrons e o dispositivo que controla a concentração do feixe em níveis seguros.
◦ Diversas mortes em decorrência de queimaduras.
◦ O programador não tinha experiência em programação concorrente.
16/08/2011
4
“Quanto mais cedo defeitos forem encontrados antes da implementação do sistema o custo de correção é menor em relação
ao encontrado na fase de produção”.
(Regra de Myers)
Teste de Software
Teste de SoftwareTerminologia
Padrão IEEE número 610.12-1990.
• defeito (fault) – passo, processo ou definição de dados incorreto, como por exemplo, uma instrução ou comando incorreto;
• engano (mistake) – ação humana que produz um resultado incorreto, com por exemplo, uma ação incorreta tomada pelo programador;
• erro (error) – diferença entre o valor obtido e o valor esperado, ou seja, qualquer estado intermediário incorreto ou resultado inesperado na execução do programa constitui um erro;
16/08/2011
5
Teste de SoftwareTerminologia
Padrão IEEE número 610.12-1990.
• Falha (failure) – produção de uma saída incorreta com relação à especificação.
• Engano• Defeito • Erro
• Falha
ConsequênciaCausa
Teste de Software
Os erros são classificados em:
• Erros Computacionais – o erro provoca uma computação incorreta mas o caminho executado (sequências de comandos) é igual ao caminho esperado;
• Erros de Domínio – o caminho efetivamente executado é diferente do caminho esperado, ou seja, um caminho errado é selecionado.
16/08/2011
6
Teste de SoftwareIntrodução
• Teste de unidade
• É aplicado aos menores componentes de código, testa as unidades individuais: Funções, objetos e componentes.
Teste de SoftwareIntrodução
• Teste de integração (ou iteração)
• É o feito ao término de cada iteração para validar a execução das funções referentes aos casos de uso.
16/08/2011
7
Teste de SoftwareIntrodução
• Teste de sistema
• Executa o sistema como um todo para validar a execução das funções acompanhando cenários elaborados (casos de teste) por um analista de testes em um ambiente de testes.
Teste de SoftwareIntrodução
• Teste de aceitação
• É feito antes da implementação do software, o cliente é quem executa esse tipo de teste no ambiente de homologação.
• Tem como objetivo verificar se o software está pronto para ser utilizado pelos usuários finais.
16/08/2011
8
Teste de SoftwareIntrodução
• Um teste é uma atividade na qual um produto, sistema ou componente é executado sob condições específicas, com observação e registro dos resultados e avaliação de um ou mais aspectos.
Teste de SoftwareIntrodução
• Quanto maior o número de defeitos detectados em um software, provavelmente maior também será o número de defeitos não detectados.
• Este caso, geralmente indica necessidade de redesenho do projeto.
16/08/2011
9
Teste de SoftwareProcesso de testes de software – Exemplo DATASUS
Teste de SoftwareProcesso de testes de software
• Representa uma estruturação de etapas, atividades, artefatos,papéis e responsabilidades que buscam a padronização dostrabalhos e ampliar a organização e controle dos projetos detestes.
• O Processo de Teste, como qualquer outro processo deveser revisto continuamente, de forma a ampliar sua atuação epossibilitar aos profissionais uma maior visibilidade eorganização dos seus trabalhos, o que resulta numa maioragilidade e controle operacional dos projetos de testes.
16/08/2011
10
Teste de SoftwareProcesso de testes de software
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dosTestes• Esta etapa caracteriza-se pela definição de uma
proposta de testes baseada nas expectativas doCliente em relação à prazos, custos e qualidadeesperada, possibilitando dimensionar a equipe eestabelecer um esforço de acordo com asnecessidades apontadas pelo Cliente.
16/08/2011
11
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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".
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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;
16/08/2011
12
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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;
16/08/2011
13
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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);
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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;
16/08/2011
14
Teste de SoftwareProcesso de testes de software
• Etapa 1: Planejamento dos TestesMacro Atividades
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)
Teste de SoftwareProcesso de testes de software
• Definição das Responsabilidades
16/08/2011
15
Teste de SoftwareProcesso de testes de software
• Mapeamento dos Artefatos
• "artefatos de entrada" exigidos como premissa para que cada
macro atividade possa ser realizada.
• "artefatos de saída" produzidos como resultado da atividade.
Teste de SoftwareProcesso de testes de software
• Mapeamento dos Artefatos
16/08/2011
16
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestes
• Esta etapa é caracterizada pela identificação dos casos de testes que deverãoser construídos e modificados em função das mudanças solicitadas peloCliente, bem como pelo próprio aperfeiçoamento do processo de testes(ampliação da cobertura).
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
Refinamento do Projeto de Testes
Estudo dos Requisitos
Refinamento dos casos de
teste
Identificação dos casos de
teste
Ajuste dos casos de teste
Especificação de adaptações na arquitetura
16/08/2011
17
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
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 deTestes";
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
Especificar asAdaptações daArquitetura dosTestes:
• 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);
16/08/2011
18
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
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;
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
Refinamento dos Casos deTestes:
• 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 deTestes 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;
16/08/2011
19
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
Aceite dos Casos deTestes:
• 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;
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMacroAtividades
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)
16/08/2011
20
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesDefinição de Responsabilidades
Teste de SoftwareProcesso de testes de software
Etapa 2: Especificação dosTestesMapeamento dos Artefatos
16/08/2011
21
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de Testes
• Esta etapa é caracterizada pela identificação de todosos elementos necessários para a implementação decada caso de testes especificado.
• Fazem parte desta etapa a modelagem das massas detestes e a definição dos critérios de tratamento dearquivos (envelhecimento, descaracterização ecomparação de resultados).
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de Testes
16/08/2011
22
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
Criação dos Roteiros deTestes:
• 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 deTestes com os Executores deTestes; (teste manual)
16/08/2011
23
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
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;
16/08/2011
24
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
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)
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
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);
16/08/2011
25
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMacro Atividades
Elaboração do Plano de Execução dosTestes:
• Identificação dos diversos "sites" (estações de trabalho) para a execução dostestes;
• Identificação dos diversos equipamentos que serão necessários para a execuçãodos testes;
• Identificação das diversas configurações que serão exigidas para cada "site" eequipamento;
• 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;
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesDefinição de Responsabilidades
16/08/2011
26
Teste de SoftwareProcesso de testes de software
• Etapa 3: Modelagem de TestesMapeamento de Artefatos
Teste de SoftwareProcesso de testes de software
• Etapa 4: 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.
16/08/2011
27
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMacro Atividades
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMacro Atividades
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;
16/08/2011
28
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMacro Atividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMacro Atividades
Homologação da NovaArquitetura:
• Selecionar um pequeno conjunto de testes para avaliar a instalação da arquitetura
de testes;
• Gerar a Massa deTestes (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 oAceite dos Analistas de Testes;
16/08/2011
29
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMacro Atividades
Geração da Massa deTestes:
• 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 deValidação);
• Avaliar se as informações foram tratadas adequadamente;
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteDefinição das Responsabilidades
16/08/2011
30
Teste de SoftwareProcesso de testes de software
• Etapa 4: Preparação do AmbienteMapeamento dos Artefatos
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos Testes
• Esta etapa é caracterizada pela execução e conferênciados testes planejados, de forma a garantir que ocomportamento do aplicativo permanece em"conformidade" com os requisitos contratados peloCliente.
16/08/2011
31
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos Testes
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
16/08/2011
32
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
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 Infra-Estrutura (Servidores, Redes, Comunicação,
Disco);
• Acionar ferramentas de monitoramento de interrupção "anormal" de
processamento;
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
Execução dos Casos deTestes 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;
16/08/2011
33
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
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;
16/08/2011
34
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMacro Atividades
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)
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesDefinição de Responsabilidades
16/08/2011
35
Teste de SoftwareProcesso de testes de software
• Etapa 5: Execução dos TestesMapeamento de Artefatos
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos Resultados
• Esta etapa é caracterizada pela análise e confirmação dosresultados relatados durante a fase de execução dostestes.
• Os resultados em "não-conformidade" deverão ser"confirmados" e "detalhados" para que a Fábrica deSoftware realize as correções necessárias.
• Já os casos de testes progressivos em "conformidade"deverão ter seu resultado "POSITIVO" reconfirmado eseu "baseline" atualizado.
16/08/2011
36
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
16/08/2011
37
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
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;
16/08/2011
38
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
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)
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMacroAtividades
Negociação de um Novo Ciclo de Testes (se necessário):
• Avaliar a necessidade de um novo ciclo de testes diante da quantidade 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;
16/08/2011
39
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosDefinição de Responsabilidades
Teste de SoftwareProcesso de testes de software
• Etapa 6:Análise dos ResultadosMapeamento deArtefatos
16/08/2011
40
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do Processo
• Esta etapa é caracterizada pela avaliação de todo oProcesso de Teste de Software, comparando os resultadosalcançados em relação ao que foi inicialmente planejado.
• Neste momento, diversos indicadores são extraídos,visando avaliar qualitativamente e quantitativamente odesempenho do trabalho, através de comparaçõeshistóricas de projetos anteriores.
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
16/08/2011
41
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
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)
16/08/2011
42
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
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;
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
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;
16/08/2011
43
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
“Versionamento” do Processo deTeste
• “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";
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMacroAtividades
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)
16/08/2011
44
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoDefinição de Responsabilidades
Teste de SoftwareProcesso de testes de software
• Etapa 7: Encerramento do ProcessoMapeamento deArtefatos
16/08/2011
45
Teste de Software
Fontes de Consulta
http://imasters.com.br/artigo/6102/des_de_software/processo_de_teste_de_software_parte_01/
http://imasters.com.br/artigo/6117/software/processo-de-teste-de-software-parte-2
http://imasters.com.br/artigo/6118/software/processo-de-teste-de-software-parte-03
http://pts.datasus.gov.br/PTS/default.php?area=04
http://pts.datasus.gov.br/PTS/default.php?area=07
http://sgq.datasus.gov.br/SGQ/default.php?area=0401