Testes Funcionais de Software



Documentos relacionados
Qualidade de Software

Engenharia de Software

Introdução a Engenharia de Software

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Capítulo 7: Engenharia de Software

Os Estilos de Pesquisa na Computação. TCC Profº Carlos José Maria Olguín

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

Metodologia de Gerenciamento de Projetos:

Requisitos do usuário, do sistema e do software [Sommerville, 2004]

GERENCIAMENTO DE PROJETOS EM AGÊNCIAS WEB BASEADO NO PMI E METODOLOGIAS ÁGEIS 1

Processos de Software

QUESTIONÁRIO DE AVALIAÇÃO Primeira Fase

Tipos de teste de software

Engenharia de Software

Apresentar os conceitos básicos da metodologia de desenvolvimento Processo Unificado, utilizando como aporte o Processo Unificado Rational RUP

INTENSIVO DE INTELIGÊNCIA COMPETITIVA

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Modelo V e a Qualidade de Software Wall Street institute

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

Auditoria Energética

Visão Geral Parte 1. O que é engenharia de software?

Engenharia de Software III

Erros no Gerenciamento de Projetos em Inteligência Competitiva

Paradigmas de Engenharia de Software

Requisitos para Gestão de Requisitos no Desenvolvimento de Software que Utilizam Prática Ágeis

PESQUISA EM INFORMÁTICA -ESTILOS DE PESQUISA EM COMPUTAÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

CENTRO ESTADUAL DE EDUCAÇÃO TECNOLOGICA PAULA SOUZA ETEC DR. EMLIO HERNANDEZ AGUILAR

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Vantagens de um Sistema LIMS em seu Laboratório

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Fundamentos de Teste de Software

Proposta para implantação de um Escritório de Projetos. Eduardo Montes, PMP

EMENTAS DAS DISCIPLINAS

Desenvolvimento estruturado versus orientado a objetos.

Engenharia de Software II

Metodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr

Introdução à Engenharia de Software. Prof.ª Erika E. Freire Miranda

Motivos para você ter um servidor

Introdução a Engenharia de Software. Alterações na aula do Prof. Reinaldo Bianchi Alterado por: Antonio Carlos Souza ADS - IFBA

QUALIDADE DE SOFTWARE

PLANO DE CURSO 1. DADOS DE IDENTIFICAÇÃO. Instituição: Faculdade Santa Maria Curso: Administração Professor: Alessandro Pinon Leitão

Prof. Me. Marcos Echevarria

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Engenharia de Software

SUMÁRIO. Cercando a instituição. 1 Perfil... 7 O que é perfil?... 8 Por que o perfil é necessário?... 9

Engenharia de Software 1

Ideal para que tipo de empresa (equipe): pequena, média, grande? Em software onde os requisitos não são conhecidos é recomendado o uso do XP? Por quê?

Introdução à. Engenharia de Software. Givanaldo Rocha de Souza

O Processo Unificado

Processo Unificado (RUP)

Engenharia de Software Unidade I Visão Geral

Load Balance Benefícios e vantagens dessa funcionalidade.

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Markes Roberto Vaccaro

Introdução. Gerência de Projetos de Software. Sumário. Sistemas de Informação para Processos Produtivos

Ciência da Computação ENGENHARIA DE SOFTWARE. UML-Unified Modeling Language Linguagem de Modelagem Unificada

IES-300. Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br

Roteiro SENAC. Análise de Riscos. Planejamento do Gerenciamento de Riscos. Planejamento do Gerenciamento de Riscos

APRESENTAÇÃO FGV APRESENTAÇÃO TRECSSON BUSINESS

ADMINISTRAÇÃO E SERVIÇOS DE REDE

Projeto de Desenvolvimento de Software. Apresentação (Ementa) e Introdução

Introdução à ES - Continuação

Plano de Trabalho Docente Ensino Técnico

Analista de Negócio Pleno

Desenvolvimento de Sistemas Tolerantes a Falhas

[ GUIA ] GESTÃO FINANCEIRA PARA EMPREENDEDORES

Uma Metodologia para Teste de Software no Contexto da Melhoria de Processo

PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO (PROENG) ASSESSORIA DE DESENVOLVIMENTO ASSESSORIA JURÍDICA

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: Arquitetura de Software Aula 03

Administração de Sistemas de Informação I

Análise de Sistemas. Contextualização. O Sucesso. Aula 4. Instrumentalização. Aula 4. Prof. Emerson Klisiewicz. Clientes satisfeitos

A maneira como você coleta, gerencia e utiliza as informações determina se você vai vencer ou perder

Testes de Software. Anne Caroline O. Rocha TesterCertified BSTQB NTI UFPB

Especialização em Engenharia de Software e Banco de Dados

Data Versão Descrição Autor

Prof.: Roberto Franciscatto. Capítulo 1 Introdução

Modelos de Processo (métodos)

METODOLOGIAS ÁGEIS - SCRUM -

Transcrição:

Leonardo Molinari Testes Funcionais de Software Visual Books

Sumário Prefácio...15 Introdução...17 Parte 1 - Visão Geral...21 1 Visão de Qualidade de Software...23 1.1 Visão Inicial... 23 1.2 Estado da Arte em Qualidade de Software... 29 1.2.1 Visão de Qualidade na Europa... 34 1.2.2 Visão de Qualidade nos EUA... 34 1.2.3 Visão de Qualidade na Ásia... 34 1.2.4 Visão de Qualidade na América Latina... 35 1.3 Estado da Arte em Testes... 36 1.3.1 Uma Visão dos Anos 80: Briga de Gigantes... 37 1.3.2 Uma Visão dos Anos 90: Computação para Todos... 38 1.3.3 A Entrada da Web: Tudo é para Todos... 38 1.3.4 Impacto Financeiro: Crescimento Web... 39 1.3.5 A Mudança do Perfil do Testador: Indo Além... 41 1.3.6 Visão Atual das Linhas de Trabalho ou Escolas em Testes... 42 1.4 Automação de Testes de Software... 47 1.4.1 Tipos de Ferramentas de Automação de Testes... 49 1.4.1.1 Classificação Geral do Mercado das Ferramentas... 49 1.4.1.2 Classificação Geral Teórica: Limitações de Definições... 51 1.4.2 Classificação de Tipos de Ferramentas de Automação de Testes Funcionais e Exemplos de Mercado... 51 1.5 Conclusão... 53 1.5.1 Contos Tecnológicos: Um Pequeno Conto de Qualidade... 53 2 Conceitos Básicos de Testes...55 2.1 Visão Inicial... 55 2.2 Conceitos Básicos de Testes de Software... 56 2.3 Principais Tipos de Testes... 57 2.3.1 Visão Geral dos 10 Principais Tipos de Testes... 58 2.3.2 Importância Estratégica de Testes Funcionais... 59 2.4 Visão Geral de Metodologias de Testes... 59 2.4.1 Modelo versus Metodologia... 59 2.4.2 Metamodelo de Dimensões de Testes: Visão Geral... 60 2.4.2.1 Considerações Importantes... 60 2.4.2.2 Para que Serve o Metamodelo?... 61

2.4.2.3 Qual o Maior Problema em Todas as Literaturas de Testes?... 61 2.4.2.4 Como o Metamodelo Resolve o Maior Problema das Literaturas de Testes?... 61 2.4.2.5 Quais as Dimensões ou Grupos do Metamodelo?... 61 2.4.2.6 Como Vou Usar o Metamodelo?... 62 2.4.2.7 E o Processo e Atividades que Compõem uma Metodologia?... 62 2.4.2.8 Existe Prova Concreta de Uso do Metamodelo?... 62 2.4.2.9 Posso Criar Coisas Novas com o Metamodelo?... 63 2.4.2.10 Qual o Meu Grande Desafio para com o Metamodelo?... 63 2.4.3 Metamodelo de Dimensões de Testes: Como Criar Novos Modelos... 64 2.4.4 Principais Modelos de Testes: Modelo Waterfall... 67 2.4.5 Principais Modelos de Testes: Modelo V... 68 2.4.6 Principais Modelos de Testes: Modelo Espiral... 69 2.4.7 Modelo Construído versus Modelo Pronto... 70 2.4.8 Erros Clássicos na Construção de Modelos... 72 2.5 O Processo de Testes... 73 2.6 Ambiente de Testes... 76 2.7 Testes de Software versus Testes de Hardware... 77 2.7.1 Diferenças Importantes... 77 2.7.2 Testes em Sistemas Embarcados (Embedded System Testing)... 77 2.8 Análise de Risco em Testes... 79 2.8.1 Axiomas em Risco... 80 2.8.2 Riscos mais Comuns... 81 2.8.3 Principais Passos para a Análise de Risco... 81 2.8.4 Principais Tipos de Abordagens na Análise de Risco... 82 2.9 O Profissional de Testes... 82 2.9.1 Abismo entre Desenvolvedor e Testador... 83 2.9.2 Principais Características para se Trabalhar com Testes... 84 2.9.3 Indo Além: O Profissional Herói... 85 2.10 Conclusão... 87 3 Planejamento de Testes...89 3.1 Visão Inicial... 89 3.1.1 Importância Estratégica do Planejamento de Testes... 90 3.1.2 Verdades do Planejamento de Testes... 91 3.1.3 Problemas do Planejamento de Testes... 91 3.1.4 Principais Elementos do Planejamento de Testes... 92 3.2 Plano de Testes... 92 3.2.1 Alguns dos Principais Termos e Conceitos de um Plano de Teste... 93

3.2.2 Principais Funções de um Plano de Teste... 94 3.2.3 Principais Etapas de Elaboração de um Plano de Teste... 94 3.2.4 Modelos e Padrões Internacionais Específicos de Planos de Teste: Visão Global... 95 3.2.5 Modelos e Padrões Internacionais de Planos de Teste: Modelo PMBOK (PMI)... 96 3.2.6 Modelos e Padrões Internacionais de Planos de Teste: Normas e Padrões IEEE... 97 3.2.6.1 IEEE Std 1012-1998... 97 3.2.6.2 IEEE Std 829-1998... 97 3.2.6.3 IEEE Std 1028-1998... 101 3.2.6.4 IEEE Std 1008-1997... 101 3.2.7 Modelos e Padrões Internacionais de Planos de Teste: Modelo QAI... 102 3.2.8 Modelos e Padrões Internacionais de Planos de Teste: Modelo ISO/IEC NBR 12207-1998... 103 3.3 Gerenciamento de Defeitos... 106 3.3.1 Visão Geral... 106 3.3.2 Informações Principais que compõem o Gerenciamento de Defeitos Severidade, Status, etc.... 107 3.3.3 Pontos Vitais no Gerenciamento de Defeitos... 107 3.3.4 Exemplos de Workflows de Gerenciamento de Defeitos... 108 3.4 Conclusão... 109 3.4.1 Contos Tecnológicos: Encontro Marcado com um Projeto de Testes... 109 Parte 2 - Trabalhando com Testes Funcionais...117 4 Entendendo de Testes Funcionais...119 4.1 Visão Intermediária... 119 4.2 Importância de Testes Funcionais... 121 4.2.1 Importância Estratégica... 121 4.2.2 Importância da Lógica em Qualidade e Testes... 121 4.2.3 Dicas de Uso das Técnicas/Estratégicas de Criação de Testes Funcionais Mostrados no Livro... 123 4.3 Conclusão... 125 5 Como Escrever Requisitos e Casos de Testes...127 5.1 Visão Inicial... 127 5.2 Como Levantar e Escrever Requisitos de Testes... 130 5.3 Como Testar com Requisitos de Testes Fortes ou Maduros... 131 5.4 Como Testar com Requisitos de Testes Fracos... 132 5.5 Como Testar sem Requisitos de Testes... 133 5.6 Como Testar com Casos de Testes Fracos ou Inexistentes... 133

5.7 Como Levantar e Escrever Casos de Testes... 134 5.8 Casos de Testes Fortes versus Casos de Testes Fracos... 138 5.9 Derivando Casos de Testes de Casos de Uso (UML)... 138 5.10 Maiores Problemas do Projeto de Caso de Teste... 147 5.11 Conclusão... 147 5.11.1 O Bug-presente de Natal de 2007... 147 6 Técnicas Específicas de Testes Funcionais...149 6.1 Visão Inicial... 149 6.2 Teste de Equivalência de Classe (Equivalence Class Testing)... 150 6.3 Teste de Valor Limite (Boundary Value Testing)... 153 6.4 Teste por Tabela de Decisão (Decision Table Testing)... 155 6.5 Pairwise Testing (Array Ortogonal)... 157 6.6 Teste de Transição de Estado (State-Transition Testing)... 161 6.7 Teste de Análise de Domínio (Domain Analysis Testing)... 164 6.8 Testes Planejados versus Testes Exploratórios... 165 6.9 Conclusão... 166 6.9.1 Conto Tecnológico: Tropa de Testadores de Elite... 166 7 Caso de Estudo...171 7.1 Visão Geral... 171 7.2 Plano de Teste... 172 7.3 Execução do Teste... 176 7.4 Análise do Teste... 178 7.5 Testes Manuais versus Testes Automatizados... 179 7.5.1 Quando Vale, ou não, a Pena Automatizar... 179 7.5.2 Exemplo Geral de Automação de Testes Funcionais Usando a Ferramenta Badboy... 179 7.5.3 Técnicas: Testes de Regressão versus Testes Dirigidos a Dados (Data Driven Testing)... 183 7.5.4 Técnicas: Testes de Regressão Tradicionais versus Testes de Regressão com Alto Volume de Automação... 184 7.6 Conclusão... 185 7.6.1 Defeitos versus Falhas: Entendendo Melhor... 185 Referências...189 Anexo I - O Impacto do Mal Teste...193 Índice Remissivo...211