45
16/08/2011 1 Teste de Software Rafael D. Ribeiro, M.Sc. [email protected] 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

Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

  • Upload
    hanhan

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 2: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 3: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 4: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 5: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 6: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 7: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 8: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 9: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 10: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 11: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 12: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 13: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 14: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 15: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 16: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 17: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 18: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 19: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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)

Page 20: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 21: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 22: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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)

Page 23: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 24: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 25: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 26: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 27: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 28: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 29: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 30: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 31: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 32: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 33: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 34: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 35: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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.

Page 36: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 37: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 38: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 39: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 40: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 41: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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)

Page 42: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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;

Page 43: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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)

Page 44: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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

Page 45: Teste de Software - rafaeldiasribeiro.com.br · –Os sistemas são distribuídos e incluem diversidade de hardware e plataforma operacional ... • Etapa 3: Modelagem de Testes Macro

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