Buscar

Testes Funcionais de Software

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

Continue navegando