Software
Objetivos do curso
Motivao
Mdulos do curso
2. Relao
com fases e
outros fluxos
4. Ferramentas
de testes
5. Referncias
3. Fluxo de
testes
Copyright 2002 Qualiti. Todos os direitos reservados.
1. Conceitos
chave
Conceitos Chave
Conceitos Chave
Processo de Teste
Abordagens de Teste
Estgios de Testes
Tipos de Teste
Teste de Regresso
Casos de Teste
Procedimento de Teste
Processo de teste
- Um processo de teste define atividades e prticas
Objetivo
Definio
Processo de teste
- Otimiza o esforo e tem maior eficcia
Processo de teste
Incorpora:
Abordagens de teste
-
Os testes so gerados a
partir de uma anlise dos
relacionamentos entre os
dados de entrada e sada,
com base nos requisitos
levantados com os
usurios.
Geralmente aplicado
durante as ltimas etapas
do processo de teste.
Dados de Entrada
Sistema
Dados de Sada
Introduo a testes de software | 12
Abordagem funcional
(caixa preta)
Abordagens de teste
Abordagem estrutural
(caixa branca)
Os testes so gerados a
partir de uma anlise
dos caminhos lgicos
possveis de serem
executados, de modo a
conhecer o
funcionamento interno
dos componentes do
software.
- Teste de Unidade
- Teste de Integrao
- Teste de Sistema
- Teste Aceitao
Estgios de Teste
Estgios de Teste
Testes em quatro estgios
Teste de unidade
Nvel de Subsistema
Teste de integrao
Nvel de Sistema
Teste de sistema
Teste de aceitao
Introduo a testes de software | 15
Nvel de Mdulo
Estgios de teste
- Componentes individuais (ex: classes, mtodos) so
testados para assegurar que os mesmos operam de
forma correta
Teste de integrao
Teste de unidade
Estgios de teste
- Os elementos de software integrados com o ambiente
operacional (hardware, pessoas, etc.) so testados
como um todo
Teste de sistema
Teste de Unidade
- Antecipa a correo de defeitos
Objetivo:
Teste de Unidade
So testados:
Componentes individuais (ex: classes, mtodos) para
assegurar que os mesmos operam de forma correta
A interface com a unidade para garantir que as informaes
fluem para dentro e para fora da mesma
Manipulao de dados inconsistentes ou imprprios
Condies de limite para garantir que a unidade opera
adequadamente nos limites estabelecidos
Caminhos de controle importantes e de tratamento de erros
dentro das fronteiras da unidade (teste caixa branca)
Driver
Mdulo a
ser testado
Interface
Estrutura de dados local
Condies limite
Caminhos independentes
Caminhos de tratamento de erros
Casos de teste
Stub1
Stub2
Resultados
Teste de Integrao
Teste Unitrio
Teste de
Integrao
CadastroContas
CadastroContas
<<interface>>
RepositorioContas
<<interface>>
RepositorioContas
RepositorioContasStub
RepositorioContasBDR
Teste de Integrao
Teste de Integrao
Teste de Integrao
Teste de Integrao
- Vantagem: os testes das funes principais so
realizados no incio.
Desvantagem: criao de stubs complexos.
Bottom-up
Top-down
Teste de Sistema
- Testes beta
Teste de Aceitao
Teste funcional
Teste de recuperao de falha
Teste de segurana e controle de acesso
Teste de integridade de dados
Teste de performance
Teste de volume
Teste de estresse
Teste de configurao
Teste de instalao
Teste de interface
Teste de documentao
Teste de ciclo de negcios
Tipos de testes
Tipos de teste
Teste funcional (regras de negcio)
Tipos de teste
Teste de recuperao de falhas
Tipos de teste
Teste de segurana e controle de acesso
Tipos de teste
Teste de integridade de dados
Tipos de teste
- Verifica tempo de resposta e processamento
-
Teste de performance
Tipos de teste
- Verificar o comportamento do sistema sob
Tipos de teste
- Verifica a funcionalidade do sistema em
Teste de estresse
Tipos de teste
- Verifica o funcionamento adequado do sistema em
Compatibilidade do software/hardware
Configurao do servidor
Tipos de conexes com a Internet
Compatibilidade com o browser
Tipos de teste
- Verifica a correta instalao e desinstalao do
Tipos de teste
- Aparncia e comportamento da interface
- Navegao
- Consistncia
- Aderncia a padres
- Tempo para aprender como usar o programa
- Funcionalidade
Tipos de teste
- Como a informao apresentada ao usurio?
- Quais os controles da UI sero testadas (caixa de
-
Tipos de teste
Teste de documentao
Tipos de teste
Teste de ciclo de negcios
Teste de regresso
Caso de teste
Procedimento de teste
Exerccio 1
- Aumento de qualidade
- Diminuio de risco
Builds
Testes - desenvolvimento
iterativo
Planejamento
de Projeto
Captura de
Requisitos
Anlise e
Projeto
Implementao
Build
Build
Projetar Testes
Implementar
Testes
Executar Testes
Avaliar Testes
Gerenciar Defeitos
Elaborao
Iterao
Preliminar
Iter.
#1
Construo
Transio
Requisitos.......................................
Anlise e Projeto............................
Implementao...............................
Testes.............................................
Implantao...................................
Fluxos de Suporte
Planejamento e Gerenciamento.....
Gerncia de Configurao e Mudanas
Iter.
#2
Iter.
#i
Iter.
#i+1
Iter.
#i+2
Iter.
#n
Iter.
#n+1
Iteraes
Fluxos de Atividades
Elaborao
escopo
arquitetura
Testes de
Integrao
Planejamento
Inicial de Testes
Construo
Transio
operao
lanamento
Testes de Sistema
Testes de
Homologao
Concepo
Elaborao de Casos de
Teste de Integrao
Elaborao de Casos de
Teste de Sistema
Testes
Implantao
Execuo de Testes de
Integrao e Sistemas
Elaborao e Execuo
de Testes de Unidade
Testes de
Homologao
Atividades, Artefatos e
Responsabilidades do
Fluxo de Testes
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Fluxo de Atividades
Responsveis e artefatos
Plano de
Testes
Planilha de
Testes
Massa de
Dados
Desenvolvedor
ou
Automatizador
Projeto de
Testes
Testador / Executor
Planilha de
Testes
Componentes
de Testes
Relatrio de
Avaliao de
Testes
Scripts
Automatizados
Registro de
Solicitao de
Mudanas
Estratgia
de Testes
Projetista de Testes ou
Arquiteto de Teste
Projetista de Testes
Testador
Desenvolvedor
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Objetivos
Plano de Projeto
Documento de requisitos
Modelo de casos de uso
Plano de Gerncia de Riscos do Projeto
Sadas
Plano de testes
Plano de Gerncia de Risco do Projeto
Cronograma do Projeto.
Responsvel
Gerente de Testes / Projetista de testes
Introduo a testes de software | 64
Entradas
Requisitos funcionais
Requisitos no funcionais
- Performance
- Configurao
- Instalao
- GUI
Exerccio 2
RQ001
RQ002
RQ003
RQ007
Impacto
1
3
4
2
Probabilidade
Risco Avaliado
1
0
1
2
2
3
3
3
Requisito
Freqncia Importncia
RQ001
RQ002
RQ003
1
3
4
RQ007
1
0
1
2
1
2
Requisito
Exerccio 3
- principais
- de apoio
Ambiente de testes
- hardware
- software
Ferramentas de Teste
- processo de testes
- anlise e projeto
- requisitos do sistema e tecnologia adotada
- Processo de teste
- Configurao de ambientes
- Componentes e ferramentas de testes
- Processos de testes
- Linguagens de programao
- Aplicao a ser testada
- Ferramentas de teste
- Estimativas
- Base histrica
Artefatos
Data Alvo
Estratgia de Teste
Xx / xx / xxxx
Xx / xx / xxxx
Ambiente de Teste
Xx / xx / xxxx
Arquitetura de Automao
Xx / xx / xxxx
Build
Xx / xx / xxxx
Incio da Execuo
Relatrios Gerenciais
Xx / xx / xxxx
Final da Execuo
Relatrios Gerenciais
Xx / xx / xxxx
Construo
da
Automao
Arquitetura
de
Planejar testes
-
O que fazer
Planejar testes
- No usar um esboo de um Plano de Testes que
O que no fazer
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Objetivo
A definio da Estratgia de Teste acontecer logo
aps a definio do Plano de Testes;
Plano de testes
Documento de requisitos
Modelo de casos de uso
Plano de Gerncia de Riscos do Projeto
Sadas
Estratgia de Teste
Cronograma do Projeto.
Responsvel
Gerente de Testes / Projetista de testes
Entradas
Perodo
Gustavo Bueno
Gerente de Teste
Completo
Gustavo Alves
Arquiteto de Teste
Projetista de Teste
Marlia Oliveira
Arquiteto de Teste
Projetista de Teste
Ricardo Fernandes
Automatizador
Telefone
Completo
Completo
Completo
Equipe do Projeto
Nome
Papel
Perodo
Alessandro
Gerente do Projeto
Completo
Juliana
Analista de Negcio
Completo
Adeline
Analista de Negcio
Completo
Ricardo Fernandes
Analista de Negcio
Completo
Telefone
Nome
Efetuar Login
(from transacoes)
(from transacoes)
(from transacoes)
Consultar Cheques
<<include>>
(from consultas)
ClienteAtor
Consultar Saldo
(from atores)
(from consultas)
<<include>>
Mostrar Dados da
Consulta
Consultar Extrato
(from transacoes)
Realizar DOC
(from transacoes)
(from consultas)
Realizar Transferncia
(from transacoes)
Efetuar Pagamento do
Qualiti Card
(from consultas)
(from transacoes)
Operadora DOC
Ser simulado
(from atores)
Estratgia de Automao
Plataforma
Sistema Operacional
Linux Suzi
Linguagem
Java
Banco de Dados
Oracle 9i
Servidor de Aplicao
TOMCAT 4.1.3
Povoamento e Recuperao
Ponto de Corte
Regras de envelhecimento
Regras de descaracterizao
1.
Modelagem de Teste
Gerador de Massa de Dados
Automatizao de Teste
Gerenciamento de Execuo de Testes
Simuladores de Carga e Performance
Monitoramento de Ambiente
Gerenciamento de Defeitos
Gerenciamento de Configuraes
Introduo a testes de software | 119
Exerccio 4
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Projetar testes
- Identificar e descrever os casos de teste para
cada build, e identificar e estruturar os
procedimentos de teste, especificando como
executar os casos de teste
Objetivos
Projetar testes
-
Documento de requisitos
Plano de testes
Estratgia de testes
Modelo de casos de uso
Modelo de anlise e projeto
Sadas
Responsvel
Projetista de teste
Entradas
1. Histrico de Revises
2 Introduo
3 Casos de teste
4 Procedimentos de teste
- Pr-condies de execuo
- Entradas
- Passos especficos do teste a ser executado
- Resultados esperados e/ou ps-condies de
execuo
- Realsticos e relevantes
Cascata
Independente
TC1
TC1
TC2
TC3
TC2
TC3
Criar um registro
Ler um registro
Atualizar um registro
Ler um registro
Deletar o registro
Ler o registro deletado
Introduo a testes de software | 131
Desvantagem
Vantagem
Desvantagens
Ordem de Execuo:
Independente
- Fluxo principal
- Fluxos alternativos
- Fluxos de exceo
Fluxo principal
Fluxo(s) de Exceo(s):
[FE001 - Estudante No Identificado]
No passo 1 do fluxo principal, o sistema verifica que o login e
senha so invlidos, uma mensagem aparece. Aluno no est
cadastrado.
Fluxos Secundrios
Fluxo(s) de Exceo(s):
[FE003 - Disciplina Lotada]
No passo 5 do fluxo principal, Confirmar Calendrio. Caso uma
da(s) disciplina(s) escolhida(s) pelo usurio esteja lotada, o
sistema informa uma mensagem Disciplina Lotada.
Nome do Cenrio
Inicio
Fim
Flx. Principal
2. Aluno no matriculado
Flx. Principal
FE001
3. Sair da Funcionalidade
Flx. Principal
FA001
4. Sistema Indisponvel
Flx. Principal
FA002
5. Pr-requisito no satisfeito
Flx. Principal
FE002
Flx. Principal
FE002
Desc.
Id. Do
Aluno
Senha
Discip.
Selecionada
Pre-requisito
satisfeito
Result. Esperado
TC001
CE 1 - Registro
Efetuado com
Sucesso
Funcionalidade
disponibilizada
TC002
CE 2- Aluno no
matriculado
N/A
N/A
N/A
Mensagem: Aluno
no matriculado
TC003
N/A
N/A
Tela de Login
aparece
TC004
CE4 Sistema
Indisponvel
N/A
N/A
Mensagem:
Sistema
Indisponvel
TC005
N/A
Mensagem: Existe
conflito nos
horrios
ID. CT
Desc.
Id. Do
Aluno
Senha
Discip.
Selecionada
Pre-requisito
satisfeito
Result. Esperado
TC001
CE 1 - Registro
Efetuado com Sucesso
gsa
123
Yes
Yes
Funcionalidade
disponibilizada
TC002
CE2- Aluno no
matriculado
gse
N/A
N/A
N/A
Mensagem: Aluno
no matriculado
TC003
gsa
123
N/A
N/A
Tela de Login
aparece
TC004
CE4 Sistema
Indisponvel
gsa
123
N/A
N/A
Mensagem:
Sistema
Indisponvel
TC005
gsa
123
N/A
yes
Mensagem: Existe
conflito nos
horrios
Exerccio 5
Passo 2: Estruturar
procedimentos de testes
Condies/instrues de setup
Estado inicial da aplicao
Como (ex: atravs de ferramentas de
automao de testes, scripts, etc.) e quando
fornecer os dados de entrada e obter os
resultados da sada
Passos para execuo dos testes
Forma de avaliao dos resultados
Projetar Testes
Exerccio 6
- Verso do Software
- Data Incio e Fim
- Nome do Testador
- Casos de testes planejados
Exerccio 7
Projetar Testes
- Identificar casos de testes para cada mdulo.
- Identificar resultados no esperados para cada
-
caso de teste.
Para sistemas Web, criar casos de testes para
testar a segurana da aplicao.
Entender a cobertura dos casos de testes em
relao aos requisitos da aplicao.
O que fazer
Projetar Testes
- No escrever casos de testes repetidos para a GUI.
- No deixar nenhuma funcionalidade uncovered nos
casos de teste a menos que esteja especificada no
Plano de Testes como uma caracterstica a no ser
testada.
O que no fazer
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Implementar testes
- Automatizar procedimentos de teste, criando
Objetivo
Implementar testes
Projeto de testes
Cdigo executvel do sistema (se houver)
Sadas
Componentes de testes
Responsvel
Desenvolvedor / Automatizador de testes
Entradas
Projetista de
Testes
Desenvolvedor
Testador
Elaborar
Plano
de Testes
Estratgia
De
Teste
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Executar testes
- Verificar a corretude e a qualidade dos casos de
Objetivo
Executar Testes
-
A verso do cdigo
Features da release que ser testada
Features que no so parte da release
Problemas conhecidos
Defeitos fixed
O que fazer
Executar Testes
-
O que no fazer
Executar testes
Plano de testes
Projeto de testes
Planilhas de teste
Componentes de testes
Cdigo executvel do sistema
Sadas
Planilhas de teste
Registros de Solicitao de Mudanas
Responsvel
Testador
Introduo a testes de software | 172
Entradas
1. IDENTIFICADOR DA SOLICITAO
<Um cdigo (normalmente numrico) que identifica
unicamente a solicitao de mudana.>
2. IDENTIFICAO DO SOLICITANTE
<O nome do indivduo que solicitou a mudana,
possivelmente incluindo informao adicional como
posio, matrcula, etc.>
3. SISTEMA DESENVOLVIDO
3.1. NOME DO SISTEMA
Estrutura de um registro de
solicitao de mudana
Estrutura de um registro de
solicitao de mudana
<O tipo de mudana que est sendo solicitada. Normalmente trs
tipos de mudana so realizados: adio de nova funcionalidade,
melhoria de funcionalidade j existente e correo de defeitos.
Tambm comum que a classificao seja feita com relao
natureza da mudana. Por exemplo: mudana de requisitos, de
projeto, de implementao, etc.>
5. DESCRIO
<Uma descrio da mudana que est sendo solicitada. A descrio
deve ser o mais no-ambgua e objetiva possvel. Ao mesmo tempo,
deve incluir toda informao necessria para implantar a mudana.>
6. STATUS
<A situao atual da mudana. Por exemplo: aprovada, rejeitada, em
implantao, postergada, etc. Essa informao deve ser mantida
sempre atualizada.>
7. OBSERVAES GERAIS
<Informaes adicionais sobre a solicitao de mudana. Por exemplo:
se o solicitante j souber de mdulos que sero afetados pela
implantao da mudana, pode enumer-los nesta seo.>
Introduo a testes de software | 178
4. CLASSIFICAO
Projetista de
Testes
Desenvolvedor
Testador
Elaborar Plano
de Testes
Avaliar
Testes
Projetar
Testes
Implementar
Testes
Executar
Testes
Avaliar testes
- Medir quantitativamente e qualitativamente o
progresso dos testes e gerar um relatrio de
avaliao dos testes
Objetivo
Avaliar testes
- Garantir que o relatrio de defeitos ser
O que fazer
Avaliar testes
Plano de testes
Projeto de testes
Planilhas de testes
Sadas
Documento de avaliao de testes
Responsvel
Projetista de testes
Entradas
Histrico de Revises
1 Introduo
2 Resultado dos Testes
Requisito testado: <Id do requisito>
Casos de testes executados:
<Para cada caso de teste descreva:
Id do caso de teste, sadas esperadas e obtidas, falhas, sugestes>
Requisito Testado: <Id do requisito>
...
Estrutura do documento de
avaliao de testes
com
sucesso
Percentual de casos de teste realizados com
insucesso
Introduo a testes de software | 185
- Desempenho da equipe;
- Estratgias e cobertura dos testes;
- Manuseio de ferramentas de teste;
- Ambiente de teste
No h mais tempo
Cobertura de cdigo adequada
Cobertura funcional adequada
No h mais falhas relevantes
N esperado de falhas foram reveladas
Meta de confiabilidade atingida
- adequada deve ser especificado quantativamente.
Exerccio 8
Ferramentas de Teste
Ferramentas de Bug-tracking
Gerncia de mudanas
Definio
Ferramentas de
Planejamento e
Projeto de Testes
Ferramentas de planejamento e
projeto de testes
Atividade: Elaborar plano de testes
Podem ser usadas para elaborao do
plano de testes (definio dos casos de
teste, prioridade, estratgias,
cronograma, recursos)
Exemplo:
Ferramentas de planejamento e
projeto de testes
Atividade: Projetar testes
Podem ser usadas para elaborao do
projeto de testes (casos e procedimentos
de teste, planilhas de dados)
Exemplo:
Ferramentas de planejamento e
projeto de testes
Ferramentas de planejamento e
projeto de testes
Ferramentas para
Implementao de
Componentes de
Teste
Ferramentas de
Bug Tracking
Exemplos:
Ferramenta de gerncia de mudanas (Bugzilla,
ClearQuest);
Referncias
- Cem Kaner, Jack Falk e Hung Quoc Ngyen.
Second Edition. Ed. Wiley