Baixe o app para aproveitar ainda mais
Prévia do material em texto
BooksBooksBooksBooksBooksVisualVisualVisualVisualVisual Leonardo Molinari Testes Funcionais de Software 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
Compartilhar