Você está na página 1de 45

16/08/2011

Teste de Software
Rafael D. Ribeiro, M.Sc.
rafaeldiasribeiro@gmail.com
http://www.rafaeldiasribeiro.com.br

Engenharia de Software
Conceitos 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

1
16/08/2011

Engenharia de Software
Conceitos Básicos: Evolução
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 Software
Conceitos 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.

2
16/08/2011

Engenharia de Software
Conceitos 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 Software
Conceitos 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.

3
16/08/2011

Teste de Software

“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
Terminologia
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;

4
16/08/2011

Teste de Software
Terminologia

Padrão IEEE número 610.12-1990.

• Falha (failure) – produção de uma saída incorreta com


relação à especificação.

• Engano
• Defeito • Falha
• Erro
Causa Consequência

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.

5
16/08/2011

Teste de Software
Introdução

• Teste de unidade

• É aplicado aos menores componentes de código,


testa as unidades individuais: Funções, objetos e
componentes.

Teste de Software
Introduçã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.

6
16/08/2011

Teste de Software
Introduçã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 Software
Introduçã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.

7
16/08/2011

Teste de Software
Introduçã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 Software
Introduçã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.

8
16/08/2011

Teste de Software
Processo de testes de software – Exemplo DATASUS

Teste de Software
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.

9
16/08/2011

Teste de Software
Processo de testes de software

Teste de Software
Processo de testes de software
• 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.

10
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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;

11
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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;

12
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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;

13
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 1: Planejamento dos Testes
Macro 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 Software
Processo de testes de software
• Definição das Responsabilidades

14
16/08/2011

Teste de Software
Processo 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 Software
Processo de testes de software
• Mapeamento dos Artefatos

15
16/08/2011

Teste de Software
Processo de testes de software
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).

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

Estudo dos
Requisitos

Identificação
dos casos de
teste
Especificação de
Refinamento
adaptações na
dos casos de
arquitetura
teste

Ajuste dos
casos de teste

Refinamento do
Projeto de
Testes

16
16/08/2011

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

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";

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

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

17
16/08/2011

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

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 Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades
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;

18
16/08/2011

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

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;

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Macro Atividades

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)

19
16/08/2011

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Definição de Responsabilidades

Teste de Software
Processo de testes de software
Etapa 2: Especificação dos Testes
Mapeamento dos Artefatos

20
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: 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).

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes

21
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem
de Testes
Macro Atividades

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro Atividades

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)

22
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro 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 Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro 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;

23
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro 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 Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro 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);

24
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Macro Atividades
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;

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Definição de Responsabilidades

25
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 3: Modelagem de Testes
Mapeamento de Artefatos

Teste de Software
Processo 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.

26
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Macro Atividades

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Macro 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;

27
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Macro 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 Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Macro Atividades

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;

28
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Macro Atividades

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;

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Definição das Responsabilidades

29
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 4: Preparação do Ambiente
Mapeamento dos Artefatos

Teste de Software
Processo de testes de software

• Etapa 5: 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.

30
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro Atividades

31
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro Atividades

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;

32
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro 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;

33
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Macro 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 Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Definição de Responsabilidades

34
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 5: Execução dos Testes
Mapeamento de Artefatos

Teste de Software
Processo de testes de software
• Etapa 6: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.

35
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades

36
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades

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 Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades

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;

37
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades
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 Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Macro Atividades

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;

38
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Definição de Responsabilidades

Teste de Software
Processo de testes de software
• Etapa 6:Análise dos Resultados
Mapeamento de Artefatos

39
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 7: 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.

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades

40
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades

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)

41
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades
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 Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades
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;

42
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades
“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";

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Macro Atividades

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)

43
16/08/2011

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Definição de Responsabilidades

Teste de Software
Processo de testes de software
• Etapa 7: Encerramento do Processo
Mapeamento de Artefatos

44
16/08/2011

Teste de Software
Fontes de Consulta

http://imasters.com.br/artigo/6102/des_de_software/processo_de_teste_de_soft
ware_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

45

Você também pode gostar