DOCUMENTAÇÃO DE TESTE Dissecando a norma IEEE 829-2008 Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br
PROJETO DE TESTE DE SOFTWARE Deixa eu te dizer uma coisa. Teste de Software é um projeto. Certo? CERTO? Você está duvidando de mim? Aliás, nós já conversamos sobre isso no outro curso.
PROJETO DE TESTE DE SOFTWARE Projetos para serem bem conduzidos precisam de processos. Concorda ou não concorda? Isso já foi conversado também no outro curso.
PROJETO DE TESTE DE SOFTWARE Agora fique aí quietinho que eu vou te mostrar como os documentos são produzidos durante o projeto de teste, conforme definido no processo.
PROJETO DE TESTE DE SOFTWARE E se disser que documentar o projeto de teste é muito chato, nós vamos conversar depois do curso. Fique ai quietinho.
Você entendeu o que o Anderson Silva falou? Fica quietinho aí. Por que para os projetos funcionarem você vai precisar também de documentos. Não comprou o livro? Quer dizer que vai tirar uma cópia do livro do amigo? Pera aí que eu já estou indo conversar contigo. 6
SOBRE O IEEE O IEEE é uma organização sem fins lucrativos. É a maior organização mundial de profissionais ligados a tecnologias avançadas com sede em Nova Iorque Estados Unidos. IEEE significa Institute of Electrical and Electronics Engineers, Inc., ou como se costuma dizer I 3 E. O IEEE tem mais de 100 anos. 7
DOCUMENTAÇÃO DE TESTE Esta será uma dissecação light REMBRANDT, ANATOMY LESSON 8
O QUE É UM PROJETO? Projeto é um empreendimento temporário com objetivo de criar um produto, serviço ou resultado único. PMBOK, 2008.
CICLO DE VIDA DOS PROJETOS DE TESTE
CICLO DE VIDA DOS PROJETOS DE TESTE
CICLO DE VIDA DOS PROJETOS DE TESTE Analisar resultados Gerenciar defeitos Executar testes Projetar testes Planejar testes Ciclo de Vida de Projetos de Testes Iniciar Planejar Executar Ciclo de Vida de GP Encerrar Controlar Áreas de Conhecimento O que deve ser gerenciado
PROCESSO (BÁSICO) DE TESTE Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 13
PROCESSO (BÁSICO) DE TESTE Projeto n Projeto 2 Projeto 1 Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 14
CONCEITOS BÁSICOS DE TESTE DE SOFTWARE Algumas informações sobre teste de software 15
ORIGEM DOS BUGS Fonte: Livro Software Testing, Ron Patton Lembre-se do ditado: Se você não sabe dizer o que quer, ninguém vai saber fazer o que você quer. 16
Projeto de teste Quanto antes o projeto de teste iniciar tanto melhor serão os resultados finais Ciclo de desenvolvimento de sistemas Ciclo de Testes Passado Planejamento Projeto Lógico Projeto Físico Construção Projeto de desenvolvi mento Ciclo de Testes Projeto de teste 17
NEM TODOS DEFEITOS PODEM SER CORRIGIDOS R E A L I D A D E S D O T E S T E D E S O F T W A R E Por que? Não existe tempo suficiente Não é realmente um defeito O risco de correção é grande (você corrige e pode surgir outros defeitos) Não vale a pena o esforço da correção (custo x benefício) Lembre-se que a decisão de não corrigir um defeito não pode ser tomada exclusivamente pelo testador. 18
Níveis de Teste Teste de Unidade Teste de Iteração ou Integração Teste de Sistema Teste de Aceitação 19
DOCUMENTAÇÃO EM PROJETOS DE TESTE DE SOFTWARE 20
POR QUE PADRONIZAR? Propósito da norma: Descrever o grupo básico de documentos de teste. Documentos padronizados facilitam a comunicação entre as partes envolvidas pois definem uma forma de comunicação comum. Documentos padronizados são a base para o processo de teste de software. Rembrandt, A Scholar Documentos produzidos, muitas vezes, marcam o fechamento de uma etapa do ciclo de vida do projeto de teste 21
ABRANGÊNCIA DA NORMA Planejamento de teste Especificação de teste Execução de teste Relatórios de teste Vamos fugir das tormentas Rembrandt, Chirst in the storm on the lake of Galilee 22
SÓ PARA LEMBRAR Deixa eu te lembrar uma coisa. Isso aqui não aula de pintura, logo não fique olhando para os quadros do Rembrandt. Preste atenção na lista de documentos de teste. O que está olhando? Vai encarar?
DOCUMENTAÇÃO IEEE 829:1998 Documentos básicos Planejamento Plano de teste. Especificação de teste Projeto de teste Casos de teste Procedimentos de teste Relatórios de Teste Relatório de passagem de itens de teste Log de teste Relatório de incidentes de teste Relatório de sumário de teste 24
DOCUMENTAÇÃO IEEE-829:2008 Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex-relatório de Incidentes) Relatório Máster de Teste Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação 25
ESCOPO DESTE CURSO Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex-relatório de Incidentes) Relatório Máster de Teste (encerramento do projeto) Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação 26
ESCOPO DA NORMA Descrever os documentos básicos usados em teste de software Ser aplicada ao teste de qualquer tipo de software Não estar relacionada a nenhum tipo de metodologia e pode ser que, em alguns casos, documentos específicos precisem ser acrescidos Permitir a customização de partes dos documentos em determinados tipos de teste de software. 27
Teste da calculadora 28
DESCRIÇÃO DOS DOCUMENTOS DE TESTE Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex-relatório de Incidentes) Relatório Máster de Teste Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação Será que um projeto de teste poderia ser bem sucedido sem algum desses documentos? Nós sabemos o que estamos procurando Rembrandt, Ronda Noturna 29
www.iteste.com.br CICLO DE VIDA DE TESTE Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 30
www.iteste.com.br PLANO MÁSTER DE TESTE Para que serve o Plano Máster de Teste? 31
www.iteste.com.br Plano Máster de Teste Plano Master de Teste Plano de Teste Unitário Plano de Teste de Integração Plano de Teste de Sistemas n 32
PLANO DE TESTE Propósito do documento Artefato básico do planejamento dos testes Artefato básico para o monitoramento dos testes. Define o que será feito no projeto de teste. 33 Rembrandt's Mother as the Profetess Hannah
PADRÃO PMI Escopo; Custo; Tempo; Qualidade; Integração; Recursos Humanos; Comunicação; Riscos; Suprimentos. 34
PLANO DE TESTE Introdução Identificador do Plano de Teste; Escopo; Referências Nível na sequencia de teste Classe de teste e visão das condições de teste Detalhes para este nível do plano de teste Itens de teste e seus identificadores; Matriz de rastreabilidade do teste; Funcionalidades a serem testadas; Funcionalidades que não serão testadas; Abordagem do teste; Critérios de liberação/falha dos itens; Requisitos de suspensão e retomada; Entregas do teste; (continua) 35
PLANO DE TESTE Gerência de Teste Tarefas do teste; Necessidades de ambientes; Responsabilidades; Integração entre as partes envolvidas; Recursos e sua alocação; Treinamento; Cronograma, estimativas e custos; Riscos e contingências; Geral Procedimentos de garantia de qualidade; Métricas; Cobertura do teste; Glossário; Procedimentos de alteração do documento e histórico. 36
Teste da calculadora Suposição: A nossa equipe foi contratada para testar apenas as teclas das funções aritméticas de soma, subtração, multiplicação e divisão. Vamos começar pelo Plano de Teste Peguem o livro Introdução Identificador do Plano de Teste; Escopo; Referências Nível na sequencia de teste Classe de teste e visão das condições de teste Detalhes para este nível do plano de teste Itens de teste e seus identificadores; Matriz de rastreabilidade do teste; Funcionalidades a serem testadas; Funcionalidades que não serão testadas; Abordagem do teste (Estratégia do Teste); Critérios de liberação/falha dos itens; Requisitos de suspensão e retomada; Entregas do teste; (continua) 37
Teste da calculadora Suposição: A nossa equipe foi contratada para testar apenas as teclas das funções aritméticas de soma, subtração, multiplicação e divisão. Plano de Teste Continuação Peguem o livro Gerência de Teste Tarefas do teste; Necessidades de ambientes; Responsabilidades; Integração entre as partes envolvidas; Recursos e sua alocação; Treinamento; Cronograma, estimativas e custos; Riscos e contingências; Geral Procedimentos de garantia de qualidade; Métricas; Cobertura do teste; Glossário; Procedimentos de alteração do documento e histórico. 38
Para testar este site o Plano de Teste mudaria de padrão? Suposição: Teste da funcionalidade Boletim das Ondas
www.iteste.com.br CICLO DE VIDA DE TESTE Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 42
DESIGN OU PROJETO DE TESTE Introdução Identificador; Escopo; Referências; Detalhes deste nível do Desenho (Projeto) de Teste Geral Features (ou funcionalidades) a serem testadas; Abordagem refinada; Casos de teste com a sua respectiva identificação; Critérios de passagem e falha por feature ou funcionalidade; Entregáveis; Glossário; Procedimentos de alterações do documento e histórico de alterações. 43
Plano Máster de Teste Plano Master de Teste Plano de Teste Unitário Plano de Teste de Integração Plano de Teste de Sistemas n Design de Teste Design de Teste 44
PROJETO DE TESTE O que é Abordagem refinada Estratégia de Teste (níveis de teste, tipos de teste, riscos, características de qualidade, etc.) 45
CASO DE TESTE Introdução (uma por documento) Identificador do documento Escopo Referências (itens de teste) Contexto Notas para descrição Detalhes (um por caso de teste) Identificador do caso de teste Objetivos Especificações de entrada Especificações de saída Necessidades de ambiente Requisitos ou procedimentos especiais Dependências entre casos de teste Global Glossário Procedimentos de alterações do documento e histórico de alterações Rembrandt, Lição de Anatomia em detalhe 46
CASO DE TESTE Referências (Itens de teste) Requisitos Projeto de teste e feature Guia do usuário Guia operacional Guia de instalação Etc. Rembrandt, Jeremias prevê a destruição de Jerusalem 47
CASO DE TESTE Especificações de entrada Definir quais serão as entradas para o Caso de Teste. Especificar a origem dos dados de entrada, por exemplo, se serão fornecidos manualmente ou através de uma tabela ou arquivo. Qualquer outra informação relevante referente aos dados de entrada deve ser especificada. Especificações de saída Especificar o que é esperado como informação de saída após a execução do Caso de Teste, tanto para a execução manual como para a execução automatizada. Arquivos criados pela execução do Caso de Teste devem ser definidos. Necessidades de ambiente Definir todas as necessidades de ambiente para a execução do Caso de Teste. Isso já deverá estar previsto no Plano de Teste. 48
Quantos casos de teste seriam necessários para testar esta funcionalidade ou requisito? Quanto tempo você estima que precisaria para testar este requisito? 49
Teste da calculadora Suposição: A nossa equipe foi contratada para testar apenas as teclas das funções aritméticas. Caso de Teste Peguem o livro Introdução (uma por documento) Identificador do documento Escopo Referências (itens de teste) Contexto Notas para descrição Detalhes (um por caso de teste) Identificador do caso de teste Objetivos Especificações de entrada Especificações de saída Necessidades de ambiente Requisitos ou procedimentos especiais Dependências entre casos de teste Global Glossário Procedimentos de alterações do documento e histórico de alterações 50
PROCEDIMENTO DE TESTE Introdução Identificador do documento Escopo Referências Relações com outros documentos de procedimentos Detalhes Entradas, saídas e requisitos especiais Ordem para execução dos casos de teste Global Glossário Procedimentos de alterações do documento e histórico de alterações 51
PROCEDIMENTO DE TESTE Relação com outros documentos de procedimentos Devem ser listados os procedimentos relacionados com este procedimento. Neste caso os tópicos devem ser os seguintes: Procedimentos executados antes deste Procedimentos executados de forma paralela a este Procedimentos executados após este. Pode me chamar de Roteiro de Teste Rembrandt, The syndics 52
CICLO DE VIDA DE TESTE Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 53
RELATÓRIO DE LOG Introdução Identificador; Escopo; Referências; Detalhes Descrição Descrição da execução (identificar o que foi executado); Resultados (mensagens, requisições operacionais, etc); Informações sobre o ambiente; Eventos anormais (conexão com o Relatório de Anomalias); Qualquer situação que causou a interrupção do teste. Entradas das atividades e eventos Geral Glossário 54
RELATÓRIO DE ANOMALIAS Introdução Identificador Escopo Referências Detalhes Sumário Data da anomalia Contexto Descrição da anomalia Descrição da execução (identificar o que foi executado) Resultados (mensagens, requisições operacionais, etc) Informações sobre o ambiente Eventos anormais (conexão com o Relatório de Anomalias) Qualquer situação que causou a interrupção do teste. Impacto Estimativa de urgência Descrição das ações corretivas Estado da anomalia Conclusões e recomendações Geral Procedimentos de alterações do documento e histórico de alterações Defeitos Incidentes 55
RELATÓRIO DE ANOMALIAS Impacto (visão do negócio) Estimativa de urgência (visão do projeto de teste) Estado (situação do defeito ou anomalia) 56
RELATÓRIO DE ESTADO Introdução Identificador Escopo Referências Detalhes Sumário Alterações do planejado Métricas de estado do teste Geral Relatório de progresso Procedimentos de alterações do documento e histórico de alterações 57
CICLO DE VIDA DE TESTE Planejar Planejar Testes Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos 58
RELATÓRIO DE NÍVEL DE TESTE Introdução Identificador Escopo Ver relatório Referências máster de teste Detalhes Visão geral dos resultados do teste Resultados detalhados do teste Racional das decisões Conclusões e recomendações Geral Glossário Procedimentos de alterações do documento e histórico de alterações 59
RELATÓRIO MÁSTER DE TESTE Introdução Identificador Escopo Referências Detalhes Geral Visão geral dos resultados do teste Resultados detalhados do teste Racional das decisões Conclusões e recomendações Glossário Reunião dos relatórios de níveis de teste Procedimentos de alterações do documento e histórico de alterações 60
DOCUMENTAÇÃO DE TESTE Rembrandt 1)Blinding of Golia 2)The Artist with Saskia on his Knee O objetivo de uma documentação de teste bem feita é permitir que a equipe de teste mude de quadro. 61
DOCUMENTAÇÃO X CICLO DE VIDA Planejar Testes Projetar Testes Executar Testes Analisar Resultados Gerenciar Defeitos Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex-relatório de Incidentes) Relatório Máster de Teste Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação Ligar os documentos ao ciclo de vida 62
ALGUMAS ATIVIDADES E SEUS RESPONSÁVEIS Tarefa Preparar o plano de teste Preparar Projeto de teste Especificar casos de teste Especificar procedimentos de teste Passar itens de teste para o grupo de teste Resolver os incidentes de teste Escrever o relatório de sumário de teste Passar os itens de teste para a gerência de configuração Responsável Gerente de teste ou Analista sênior de teste Analista sênior de teste Analista de teste Analista de teste Gerente do projeto de desenvolvimento Grupo de desenvolvimento ou usuários Gerente do grupo de teste Grupo de teste 63
29119-3 IEEE 829-2008 Política Organizacional de Teste Estratégia Organizacional de Teste Plano de Teste Relatório de Estado do Teste Relatório de Término do Teste Lista de revisão Regras de análise estática Relatório de incidente Lista de itens de ação Relatório de teste estático Especificação de teste Especificação de desenho de teste Especificação de caso de teste Especificação de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatório de situação de ambiente de teste Conseqüências (gerados por CT) do teste Resultados (se o CT passou ou não) do teste Log de execução do teste Relatório de incidência Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex- Relatório de Incidentes) Relatório Máster de Teste Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação
29119-3 IEEE 829-2008 Política Organizacional de Teste Estratégia Organizacional de Teste Plano de Teste Relatório de Estado do Teste Relatório de Término do Teste Lista de revisão Regras de análise estática Relatório de incidente (ver teste dinâmico) Lista de itens de ação Relatório de teste estático Especificação de teste Especificação de desenho de teste Especificação de caso de teste Especificação de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatório de situação de ambiente de teste Conseqüências (gerados por CT) do teste Resultados (se o CT passou ou não) do teste Log de execução do teste Relatório de incidente Plano Máster de Teste Plano de Teste Plano de Teste de Componente ou de Teste Unitário Plano de Teste de Integração de Componentes Plano de Teste de Sistema Plano de Teste de Aceitação Desenho (Projeto) de Teste de Aceitação, Sistema, Integração e Unitário Casos de Teste de Aceitação, Sistema, Integração e Unitário Procedimentos de Teste de Aceitação, Sistema, Integração e Unitário Relatórios de Execução dos Testes Relatório de Estado de Teste Relatório de Teste (sumário) Relatório de Log de Teste Relatório de Anomalias (ex- Relatório de Incidentes) Relatório Máster de Teste Relatório de teste de componente Relatório de teste de integração de componentes Relatório de teste de sistema Relatório de teste de aceitação
29119-3 IEEE 829-2008 Política Organizacional de Teste Estratégia Organizacional de Teste Plano de Teste Relatório de Estado do Teste Relatório de Término do Teste Lista de revisão Regras de análise estática Relatório de incidente Lista de itens de ação Relatório de teste estático Especificação de teste Especificação de desenho de teste Especificação de caso de teste Especificação de procedimento de teste Requisitos de dados de teste Requisitos de ambiente de teste Relatório de situação de ambiente de teste Conseqüências (gerados por CT) do teste Resultados (se o CT passou ou não) do teste Log de execução do teste Relatório de incidência Processos de teste organizacional Processos de gerência de teste Processos de teste estático Processos de teste dinâmico
Teste da calculadora Anexo 4 Livro de Documentação Requisitos: Plano de Teste REQ-01 REQ 14 - REQ 11 Caso de Teste REQ 01 67
IE 10 Firefox Chrome
69 Rembrandt, Scholar Reading FIM Um bom testador deve estar sempre aprendendo. Emerson Rios emersonrios@riosoft.org.br www.emersonrios.eti.br