Processo de Desenvolvimento de
Software – RUP
5. Testes
Márcio Aurélio Ribeiro Moreira
[email protected]
http://si.lopesgazzani.com.br/docentes/marcio/
Conceitos de testes
 Teste:
 É a execução controlada do software visando revelar falhas
 Falha: Desvio de comportamento
 Erro:
Origem da falha (bug)
 Teste de Regressão:
 Execução repetida dos Casos de Testes que falharam, bem como
dos Casos de Testes impactados por eles, após a correção dos
erros (bugs) que causaram as falhas
 Importância:
 Testes não provam que o software está livre de falhas. Eles
minimizam este risco, aumentam a confiança e agregam valor ao
produto
 São partes integrantes da qualidade
Márcio Moreira
5. Testes – slide 2
Processo de Desenvolvimento de Software - RUP
Elementos de testes
 De Planejamento:
 Estratégia de Teste:
 Plano de Testes:
 Idéias de Teste:
Define como o esforço de teste será conduzido
Define objetivos, metas, abordagem e recursos
testes de cada iteração
Lista de idéias a serem utilizadas nos testes
 De Desenvolvimento:
 Casos de Testes:
 Scripts de Testes:
 Dados de Teste:
 Cenários de Teste:
Entradas, passos e saídas esperadas de cada teste
Códigos executados durante (preparação, execução,
passos e geração de resultados) os Casos de Teste
Massa de dados usada para realização dos testes
Variações que um mesmo Caso de Teste pode ter
 De Execução:
 Registro de Testes:
Saída bruta da execução dos testes
 Resultados de Testes: Avaliação dos resultados dos registros de testes
Márcio Moreira
5. Testes – slide 3
Processo de Desenvolvimento de Software - RUP
Níveis de testes
Sistema A
Subsistema
A1
 Quanto às pessoas:
 Desenvolvedores
 Testes independentes:
CmpA11
CmpA12
Sistema B
Subsistema A2
CmpA21
CmpA22
CmpA23
Subsistema
B1
CmpB11
CmpB12
Subsistema
B2
CmpB21
CmpB22
 Entidades verificadoras (certificadoras) ou Usuários chaves do cliente
 Quanto a granularidade:





Testes de unidade
Testes de integração
Testes de sistema
[Testes Integrados
Testes de aceitação
(desenvolvedores)
(desenv.) (subsistemas)
(ambos)
(ambos) (outros sistemas) ausente no RUP]
(cliente) (UAT: User Acceptance Test)
 Quanto à forma:
 Formal: Seguem os casos de testes
 Informal: Não seguem roteiro (exploratórios, ad hoc ou aleatórios)
Márcio Moreira
5. Testes – slide 4
Processo de Desenvolvimento de Software - RUP
Stubs
Testes de Sistema
Testes Integrados e UAT
Sistema D
Sistema D
Stub
Stub
Sistema A
Sistema B
Sistema A
Sistema B
Stub
Sistema C
Márcio Moreira
Sistema C
5. Testes – slide 5
Processo de Desenvolvimento de Software - RUP
Visões de testes
 Quanto à visão do sistema:
 Caixa preta (fora do sistema, sem visão interna)
 Caixa branca (dentro do sistema)
 Uso de testes nas dimensões da qualidade:
Dimensão
Funcionalidade
Unidade Integração Interna Sistema Integração Externa Aceitação


Usabilidade






Confiabilidade





Desempenho








Suportabilidade
Márcio Moreira
5. Testes – slide 6
Processo de Desenvolvimento de Software - RUP
Modelo V de testes
Nível 1
Modelagem
de Negócio
Nível 2
Nível 3
Nível 4
Nível 5
Teste de
Aceitação
Teste
Integrado
Requisitos
Teste de
Sistema
Arquitetura
Teste de
Integração
Análise
Implementa
ção
Nível 6
Márcio Moreira
Teste
Unitário
Projeto
5. Testes – slide 7
Processo de Desenvolvimento de Software - RUP
Tamanho Real
Tipos de testes
• Volume
esperado
Contenção
• Volume extra
Carga
Estresse
• Até onde vai?
• Condições
extremas
 Funcionalidade:
 Função:
 Segurança:
 Volume:
A parte testável funciona como foi projetada?
Somente usuários autorizados têm acesso à funcionalidade?
A funcionalidade suporta o volume de dados especificado?
 Utilidade:
 Usabilidade:
O software tem a usabilidade que é esperada dele?
 Confiabilidade:
 Integridade:
 Estrutura:
 Estresse:
O software tem a robustez (resistência a defeitos) esperada?
Os links, botões e opções de navegação funcionam corretamente?
Como o software lidas com muitos dados, pouca memória, etc.?
 Desempenho:




Tamanho real:
Contenção:
Carga:
Perfil de desempenho:
O software tem o desempenho esperado quando com volume real?
Como o software lida com solicitação excessiva de um recurso?
Aumentando o volume de transações, até onde o software suporta?
O software possui gargalos ou processos ineficientes?
 Suportabilidade:
 Configuração:
 Instalação:
Márcio Moreira
Nosso software funciona em diferentes configurações (hw/sw)?
O processo de instalação funciona em diferentes configurações?
5. Testes – slide 8
Processo de Desenvolvimento de Software - RUP
Objetivos dos testes
 Localizar e documentar defeitos na qualidade
do software
 Dar sugestões sobre a qualidade do software
 Validar e provar as suposições feitas nas
especificações de projeto e requisitos através
de demonstração concreta
 Validar se o software funciona conforme o
projeto
 Validar se os requisitos estão implementados
adequadamente
Márcio Moreira
5. Testes – slide 9
Processo de Desenvolvimento de Software - RUP
Fluxo de trabalho de testes
Márcio Moreira
5. Testes – slide 10
Processo de Desenvolvimento de Software - RUP
Objetivos das atividades
 Definir missão de avaliação:
 Identificar o foco apropriado do esforço de teste para a iteração e estabelecer
consenso com os envolvidos sobre as metas que conduzirão o esforço de teste
 Validar abordagem do teste:
 Verificar por meio da demonstração que a abordagem de testes funcionará, produz
resultados precisos e é apropriada para os recursos disponíveis
 Validar a estabilidade da construção:
 Validar que a construção esteja estável o suficiente, para que sejam iniciados o teste
detalhado e o esforço de avaliação
 Testar e avaliar:
 Executar os testes e verificar se eles tem a amplitude e o detalhamento necessários
para garantir que os testes atinjam seus propósitos
 Realizar a missão aceitável (atingimos a missão de aceitação?):
 Garantir a aceitação do produto através das avaliações dos testes
 Aprimorar vantagens dos testes:
 Manter e aprimorar os recursos de testes
Márcio Moreira
5. Testes – slide 11
Processo de Desenvolvimento de Software - RUP
A: Definir missão de avaliação 1
Márcio Moreira
5. Testes – slide 12
Processo de Desenvolvimento de Software - RUP
A: Definir missão de avaliação 2
Márcio Moreira
5. Testes – slide 13
Processo de Desenvolvimento de Software - RUP
A: Validar abordagem do teste 1
Márcio Moreira
5. Testes – slide 14
Processo de Desenvolvimento de Software - RUP
A: Validar abordagem do teste 2
Márcio Moreira
5. Testes – slide 15
Processo de Desenvolvimento de Software - RUP
A: Validar a estabilidade da construção 1
Márcio Moreira
5. Testes – slide 16
Processo de Desenvolvimento de Software - RUP
A: Validar a estabilidade da construção 2
Márcio Moreira
5. Testes – slide 17
Processo de Desenvolvimento de Software - RUP
A: Testar e avaliar 1
Márcio Moreira
5. Testes – slide 18
Processo de Desenvolvimento de Software - RUP
A: Testar e avaliar 2
Márcio Moreira
5. Testes – slide 19
Processo de Desenvolvimento de Software - RUP
A: Testar e avaliar 3
Márcio Moreira
5. Testes – slide 20
Processo de Desenvolvimento de Software - RUP
A: Realizar a missão aceitável
Márcio Moreira
5. Testes – slide 21
Processo de Desenvolvimento de Software - RUP
A: Aprimorar vantagens dos testes 1
Márcio Moreira
5. Testes – slide 22
Processo de Desenvolvimento de Software - RUP
A: Aprimorar vantagens dos testes 2
Márcio Moreira
5. Testes – slide 23
Processo de Desenvolvimento de Software - RUP
Essência dos testes
Planejamento:
• Estratégia, Plano e Idéias de Testes
• Arquitetura de Testes
• Ambiente de Testes
Desenvolvimento :
• Casos de Testes
• Scripts, Dados e Cenários de Testes
• Projeto e Interfaces de Testes
Execução:
• Log de Testes
• Mudanças (bugs ou ajustes a serem feitos)
• Resultados e Avaliação dos Testes
Márcio Moreira
5. Testes – slide 24
Processo de Desenvolvimento de Software - RUP
P: Estratégia de testes
 Seções típicas do documento:
 Contexto:
 Missão de Avaliação (foco dos testes) e Motivadores de Testes (razões de existir dos testes)
 Abordagem:
 Extensão:
 Medição:
 Técnicas:
Cobertura que será utilizada
Como serão medidos os testes
Quais técnicas serão utilizadas
 Ambiente:




Hardware:
Software:
Ferramentas:
Configuração:
Hardwares necessários aos testes
Softwares necessários aos testes
Utilizadas na medição e avaliação
Configuração final do ambiente
 Responsabilidades:
 Funções:
Papéis necessários aos testes
 Pessoal:
Pessoas necessárias para realizar os testes
 Responsabilidades: Que pessoa é responsável por qual papel
 Outros:
 Riscos, dependências, premissas, restrições, processo e procedimento de gestão dos testes
Márcio Moreira
5. Testes – slide 25
Processo de Desenvolvimento de Software - RUP
P: Plano de testes
 2. Requisitos de Testes:
 Quais tipos de testes serão utilizados
 ...
 2.6. Teste de carga
 ...
2.7. Teste de estresse
2.8. Teste de volume
 3. Estratégia de testes:
 3.1. Descrever para cada tipo de teste: objetivo, técnica, critérios e detalhes
 ...
 2.6. Teste de carga:
 Objetivo:
 Técnica:
real de dados
 Critérios:
 Detalhes:
Verificar o tempo de resposta do sistema para alguns casos de negócio
Utilizar Casos de Testes prontos, com variações que simulem o volume
Metas de transações e acessos concorrentes atingidos
Para medição exata, utilizar máquina dedicada por um tempo dedicado
 3.2. Ferramentas utilizadas
 Outros: funções x recursos x responsabilidades, marcos, datas, etc.
Márcio Moreira
5. Testes – slide 26
Processo de Desenvolvimento de Software - RUP
P: Idéias de teste
 Exemplo 1:
Item Build
Objeto
Descrição
Esperado
1
1 Conta
Criar uma conta do Tipo Cliente (PF ou PJ) e colocar
acentuação no nome
Não deve deixar salvar o registro com acento, mas deve deixar
alterar o registro retirando o acento.
2
1 Conta
Adcionar uma conta a partir da tela principal (Account
Home Public and Private View Link List Applet)
Abrir a tela de cadastro de contas para informar os demais dados.
1 Conta
Começar a criar o conta como Pessoa Fisica (PF),
preencher dados como data de nascimento, e alterar o tipo
para PJ preencher a data de fundação, e mudar
Deve salvar apenas o data referente ao tipo de Conta (PF ou PJ) que
novamente para Pessoa Fisica, observe que o campo Data esta sendo informado.
de Nascimento continuará preenchido com o valor anterior.
Verificar o que será salvo.
3
 Exemplo 2:
Alvo
Nome
Tipo
Descrição
Justificativa
Filtros
R001
Funcional
Executar um relatório com dados que
atendem os critérios dos filtros
Garantir que os critérios dos filtros estão funcionando
adequadamente
Fórmulas
R003
Funcional
Verificar a corretude de todas as fórmulas
utilizadas no relatório
Garantir que as fórmulas utilizadas no relatório estão efetuando os
cálculos de forma correta
Usabilidade
Executar um relatório com dados que
contemplem todos os componentes visuais
de apresentação do relatório (ex.: labels,
campos, linhas, sombreamentos, gráficos,
imagens e etc..)
Garantir que a apresentação do relatório está de forma adequada
Visualização
R003
Márcio Moreira
5. Testes – slide 27
Processo de Desenvolvimento de Software - RUP
P: Caso de teste




Fase:
Ciclo:
Nome TC:
Passos:
GL1
Catálogo de Produtos
Criação de Produtos Simples
Step
Action
Build:
ID do TC:
Prioridade:
Inputs
1
149
Baixa
Expected Results
0
Pre-requisitos Administrador ja procurou o produto e o produto
nao foi encontrado Para os Produtos Simples, o Administrador
deve escolher o Tipo de Estrutura como Nenhum
n/a
n/a
1
Ir para a Tela de Administração - Produto- Visualização
Produtos;
n/a
produtos exibidos
2
Criar um novo registro;
n/a
registro criado
3
Preencher os campos obrigatórios e requisitos opcionais
a.Nome do Produto;
b.Tipo de Preço;
c.Unidade de Medida;
d.Início e Término da Vigência
e.Tipo de Estrutura = 'Nenhum';
f.Tipo de Serviço = Multimídia, Data Center;
n/a
fornece a facilidade para adicionar os detalhes
relevantes:
- o tipo de preco: Recorrente, Uma vez e Por uso
- definir a unidade de medida para o produto. Ex:
Mensal, bimestral para produtos recorrentes.
Data de Vigência Atual e Data de vigência Final no
registro do produto definindo a disponibilidade do
produto para o cliente alvo
4
Salvar o registro
n/a
registro salvo
5
Liberar o produto;
n/a
Produto liberado com sucesso
Márcio Moreira
5. Testes – slide 28
Processo de Desenvolvimento de Software - RUP
P: Resultados de testes 1
TestSetName TestID
TestSuiteName
TestStatus
Comments
Val End
6422
[Full-ValEnd] 19) Validação de campos - Applet Account
Address Mvg Applet
Val End
6423
[Full-ValEnd] 20) Validação de campos - Applet selecionar
Passed
endereço para correção e ver a origem do endereço
Adq Dados
6605
[Full-AdqDadCli] 05 - tela de cadastro de novas contas de
cliente pessoa física e contas de serviço e faturamento
Passed
Ade Dados
6606
[Full-AdqDadCli] 04 - campos genéricos que serao
utilizados na localização e criação de contas
Passed
Adq Dados
6608
[Full-AdqDadCli] 02 - tela de cadastro de novos contatos e
na manutenção dos principais dados cadastrais dos
mesmos
Passed
Adq Dados
6609
[Full-AdqDadCli] 01 - tela de localização e criação de
contatos na base do Siebel.
Passed
Adq Dados
6615
[Full-AdqDadCli] 23) Validação de dados no sistema
AUDICON por processo batch - Pessoa Física
Canceled
não temos como fazer essa validação nessa fase
de teste, pois não a integração apenas a sua
simulação.
Adq Dados
6631
[Full-AdqDadCli] 24) Validação de dados no sistema
AUDICON por processo batch - Pessoa Jurídica
Canceled
não temos como fazer essa validação nessa fase
de teste, pois não a integração apenas a sua
simulação.
Val Cred
6185
[Full-ValidCredit] 02) Validação de Crédito Prévia (FA1) validação Botao
Not Completed
Val Cred
6186
[Full-ValidCredit] 03) Validação de Crédito Prévia (FA2) Falha na conexão com SOA
Passed
Márcio Moreira
5. Testes – slide 29
Passed
Teste executado com sucesso.
Testes efetuados, OK ..
Processo de Desenvolvimento de Software - RUP
P: Resultados de testes 2
BuildName
TestSetName
Passed Failed
Not Completed
Not Run
Pending
Fase 1
Adm. de Dados
77%
Catalogo de Produtos
0%
0%
0%
0%
23%
0%
100%
73%
9%
0%
0%
0%
18%
0%
100%
Ger. de Contato
78%
0%
0%
0%
0%
22%
0%
100%
Master Docs
61%
4%
0%
0%
0%
34%
0%
100%
Master Docs NOVO
71%
0%
0%
29%
0%
0%
0%
100%
Perfil - Positions
100%
0%
0%
0%
0%
0%
0%
100%
Perfil - Respons.
70%
9%
22%
0%
0%
0%
0%
100%
Perfil de Acesso
0%
0%
0%
0%
0%
100%
0%
100%
Requisitos Gerais
68%
19%
3%
0%
0%
10%
0%
100%
Testes Alterados
68%
28%
0%
0%
0%
4%
0%
100%
51%
7%
1%
0%
0%
40%
0%
100%
Fase 1 Total
Steps
Qtd
%
2918
35%
372
5%
Not Run
2908
35%
Open
Canceled
2030
25%
Grand Total
Total
8228
100%
Passed
Failed
Bug Status
Closed
Closed/canceled
Canceled Review Grand Total
Qtd
%
Bug Severity
Qtd
%
1032
78%
Show Stopper
18
1%
199
15%
Critical
109
8%
92
7%
Severe
378
29%
1323
100%
Moderate
704
53%
Cosmetic
110
8%
1323
100%
Grand Total
Márcio Moreira
5. Testes – slide 30
Processo de Desenvolvimento de Software - RUP
P: Avaliação dos testes 1
Resultado Estratégia X
% de Sucesso
100%
90%
80%
70%
60%
Densidades
180%
160%
140%
120%
100%
50%
80%
40%
% Exec CT
% Suc CT
Legenda: Exec = Execução
CT = Caso de Teste
Márcio Moreira
% Exec PT
% Suc PT
Suc = Sucesso
PT = Passos de CT
5. Testes – slide 31
07/01
24/12
10/12
26/11
12/11
29/10
15/10
17/09
07/01
24/12
10/12
26/11
0%
12/11
0%
29/10
20%
15/10
10%
01/10
40%
17/09
20%
01/10
60%
30%
Dens.Falhas
Dens.Bugs
Falhas / C.T.Executado
Bugs / C.T.Executado
Processo de Desenvolvimento de Software - RUP
P: Avaliação dos testes 2
Severidade final
Severidade Média
100%
Bloqueador
90%
80%
697,
53%
70%
60%
Severo
375,
29%
50%
30%
20%
10%
Bloqueador
Márcio Moreira
Severo
Moderado
24/12
10/12
26/11
12/11
29/10
15/10
01/10
17/09
0%
07/01 Severidade
40%
Cosmético Moderado
110,
8% 127,
10%
Cosmético
5. Testes – slide 32
Processo de Desenvolvimento de Software - RUP
P: Avaliação dos testes 3
100%
90%
100% em 7/7/2010
80%
70%
60%
50%
40%
30%
20%
10%
% Execução
Márcio Moreira
% Sucesso
5. Testes – slide 33
%SucLinear
14/01
07/01
31/12
24/12
17/12
10/12
03/12
26/11
19/11
12/11
05/11
29/10
22/10
15/10
08/10
01/10
24/09
17/09
0%
Necessário
Processo de Desenvolvimento de Software - RUP
Exercício 3: Contexto
 Considerando o mesmo projeto dos exercícios 1 e 2, e além disto:
 A empresa de consultoria tem fábricas de software em:
 São Paulo no Brasil: que fará a interface com o cliente

A língua utilizada para fazer modelagem, análise e projeto é o português
 2 cidades na Índia: que farão a maior parte do desenvolvimento

A língua oficial da consultoria na Índia é o inglês
 A empresa de consultoria é parceira da Oracle e participou das validações das
customizações propostas feita com a Oracle
 A empresa de consultoria utilizará uma unidade deles especializada em testes, que
fica em Brasília
 As responsabilidades de testes ficaram combinadas da seguinte forma:
 Testes Unitários e Testes de Integração (internos):
Responsabilidade da consultoria
 Testes de Sistema e Testes Integrados (externo, ou seja, com outros sistemas):





A consultoria:
A empresa:
A consultoria:
A empresa:
A consultoria:
Desenvolve os Casos de Teste
Valida os Casos de Teste
Executa os Casos de Teste e fornece evidências da execução
Verifica as evidências e registra as rejeições
Corrige as rejeições e fornece novamente para a empresa
 Teste de Aceitação: Responsabilidade integral da empresa
Márcio Moreira
5. Testes – slide 34
Processo de Desenvolvimento de Software - RUP
Exercício 3: Questões
1. Que Atividades e Tarefas de Implementação & Testes do
RUP vocês recomendam que sejam utilizadas neste
caso?
2. Justifique porque vocês incluíram ou excluíram cada
Atividade e Tarefa.
3. Vocês recomendam alguma tarefa adicional para as
Atividades selecionadas? Quais e por que?
4. A Construção está prevista para 4 meses e a consultoria
tomou algumas decisões não muito assertivas nas etapas
anteriores. O que você pode fazer para:
a.
b.
Márcio Moreira
Ter maior assertividade na entrega da Construção?
Ter mais confiança no software nos Testes de Sistema?
5. Testes – slide 35
Processo de Desenvolvimento de Software - RUP
Referências
Sigla
Referência
BEI90
BEIZER, Boris. Software testing techniques. Scottdale: Coriolis Group, 1990, 2 ed.
JAC98
Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1998. Addison
Wesley Longman.
KAN01
Cem Kaner, James Bach e Bret Pettichord 2001. Lessons Learned in Software Testing. John Wiley & Sons, Inc.
KRO03
Per Kroll e Philippe Kruchten 2003. The Rational Unified Process Made Easy, A Practitioners Guide to the RUP.
Addison Wesley Longman.
KRU98 P. Kruchten; The Rational Unified Process: An Introduction, Object Technology Series, Addison-Wesley, 1998.
MAR05 Márcio Moreira. Resumo do livro Unified Process. Márcio. Uberlândia (MG). 2005.
MAR06 Márcio Moreira. Engenharia de Software - RUP . Uniube - Universidade de Uberaba - Uberlândia (MG). 2006.
MEY79 MYERS, Glenford J. The art of software testing. New York: John Wiley & Sons, 1979.
PRE95
PRESSMAN, R. S. Engenharia de software. São Paulo: Makron Books. 1995.
RUP08 IBM Rational. RUP – Rational Unified Process – 7.5 – For Large and Small Projects. 2008. IBM Rational.
SUM07 Sommerville, Ian. Engenharia de Software. 8ª Ed. Pearson / Prentice Hall. 2007.
Márcio Moreira
5. Testes – slide 36
Processo de Desenvolvimento de Software - RUP
Download

5. Testes - Lopes & Gazzani Planejamento Ltda