Buscar

[09] QuaSftw Testes Caixa Branca e Preta

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1
Rafael Targino
rtargino@unicarioca.edu.br
@rafatargino
QUALIDADE DE SOFTWARE
Unidade IV - Técnicas de Testes de Caixa Branca e Preta
2
Programa da Aula
• Técnicas de Testes 
– Caixa Branca
– Caixa Preta
Técnicas de Teste
Caixa Branca Caixa Preta Caixa Cinza
Conduzidos nos
caminhos lógicos 
internos ao software
Conduzidos na interface 
do software. Examina 
aspectos fundamentais 
do sistema 
(funcionalidade)
Conduzidos na interface 
mas com alguma
visibilidade interna do 
sistema (Ex: Teste de 
registro consultando as 
tabelas do BD)
Acesso direto ao código
Não conhece a estrutura 
interna do software
Conhecimento interno 
do produto e saídas 
esperadas
3
Programa da Aula
• Técnicas de Testes 
– Caixa Branca
– Caixa Preta
Caixa Branca
• Testes baseados na implementação ou testes caixa-
branca:
– São baseados no código.
– Geralmente desempenhado pelo próprio programador 
durante a programação.
– Visam exercitar estruturas de controle (instruções) e de 
dados de um programa.
4
Grafo de fluxo de controle
• Nó = Bloco de comandos sequenciais
• Aresta ou Ramo = Transferência de controle
Grafo de Fluxo de Controle
5
Critérios de Cobertura
• Objetivos
– Geração dos testes
– Avaliação final: indicação do término dos testes
• Tipos
– Cobertura de Instruções
– Cobertura de Decisões
– Cobertura de Condições
– Cobertura de Caminhos
• Critério: Cada instrução (nó) deve ser 
executada pelo menos uma vez.
Teste de Instruções
6
Teste de Instruções
• Cada ramo (aresta) deve ser 
percorrido pelo menos uma vez.
Teste de Decisões
7
Teste de Decisões
Teste de Decisões/Condições
• Todas as condições devem ser testadas para valores V e 
F em cada decisão.
8
Teste de Caminhos
• Critério: Todos os caminhos possíveis do grafo devem ser 
percorridos pelo menos uma vez
• Dificuldades:
– Nem todos os caminhos do grafo são executáveis pelo programa
– Em grafos com ciclos, o número de caminhos pode ser infinito
• É necessário critérios para delimitar o número de 
caminhos
– Teste de caminhos básicos
– Teste de laços
Teste de Caminhos Básicos
• Em vez de todos os caminhos, busca os caminhos 
independentes:
– Caminho independente: contém pelo menos 1 nova 
aresta do grafo de controle
– O nº de caminhos independentes é dado pela 
complexidade ciclomática (V(G)) de McCabe:
• V(G) = nº de predicados + 1
– Nós predicados são aqueles que possuem dois ou 
mais percursos (arestas) de saída.
– Uma vez que todos os outros caminhos do grafo são 
combinações dos caminhos independentes, então 
V(G) é o limite inferior do nº de testes de caminhos
9
Complexidade Ciclomática
• A ideia é basicamente contar o número de caminhos 
diferentes que um método pode ter. 
• A Complexidade Ciclomática basicamente conta o número 
de vezes que um for, while, e todas as instruções aparecem.
• Também podemos definir a complexidade ciclomática
como: 
V(G) = A – N + 2 (esta fórmula funciona apenas 
considerando funções simples, com 
um único ponto de entrada e saída)
Onde:
• A é o número de arestas do grafo
• N é o número de nós do grafo
Exercício – Calcule a Complexidade Ciclomática
Opção 1
• V(G) = nº de predicados + 1
• Nós predicados: 
– B, D, E
• V(G) = 3 + 1 = 4
Opção 2
• V(G) = A – N + 2 
• Qtd de Arestas (A) = 
– 9
• Qtd de Nós (N) = 
– 7
• V(G) = 9 – 7 + 2 = 4
10
Complexidade Ciclomática
• Não há um número ideal para a complexidade de um método. Mas os 
especialistas sugerem que ele não deva passar de 10.
• Caso passe, você deveria quebrar o seu método em 2, e o primeiro método, 
chama o segundo.
• Existem diversas ferramentas que calculam esta métrica entre outros para o 
código fonte.
– Ex: Eclipse Metrics
• Critério: Cada caminho independente 
deve ser percorrido pelo menos uma vez.
Teste de Caminhos Básicos
11
Teste de Laços
Teste de Laços
12
Teste de Laços
Teste de Laços
13
Programa da Aula
• Técnicas de Testes 
– Caixa Branca
– Caixa Preta
Caixa Preta
• Testes baseados na especificação.
• Objetivo: Demonstrar cobertura da 
especificação
– são baseados na especificação do sistema
– visam exercitar as interfaces da aplicação
14
Importância da Análise de Requisitos
• Detecção de falhas depende da especificação 
– especificações ambíguas, incompletas, incorretas 
e inconsistentes são perigosas para os testes 
– especificações devem ser validadas
• Uma especificação deve ser testável, isto é, 
deve conter informações suficientes para os 
testes
Técnicas
• Particionamento em classes de equivalência
• Análise de valor limite
• Grafo causa-efeito
15
Particionamento em classes de 
Equivalência
• Identificar partições dos domínios das entradas e 
saídas onde os elementos, supostamente, fariam com 
que o sistema se comportasse da mesma forma
Partição por Equivalência – Exemplo 1
Input – Número Real
Output – Número Real
• Para uma dada entrada igual a 0 ou maior que 0, a raiz positiva do 
número será retornada. 
• Para uma dada entrada menos que 0, a mensagem “Erro – Entrada 
Inválida” deverá ser mostrada e o valor 0 deverá ser retornado. 
• A rotina “PrintLine” deverá ser utilizada para mostrar a mensagem.”
16
• Teste da função de raiz quadrada
• Para cada partição de equivalência, escolher 
dados representativos destas classes
– Caso 1: Entrada 4, Retorno 2.
• Testa ii e a;
– Caso 2: Entrada -10, Retorno 0, Saída “Erro 
• “Entrada Inválida” através de PrintLine.
• Testa i e b;
Partição por Equivalência – Exemplo 1
Análise do Valor Limite
• A análise de valor limite leva à escolha de casos de 
teste que põem à prova os valores fronteiriços 
• A análise de valor limite é uma técnica de projeto de 
casos de teste que complementa o particionamento
de equivalência. 
17
Análise de Valor Limite
• Critério de seleção que identifica valores nos limites 
das classes de equivalência
• Exemplos:
– valor mínimo (máximo) igual ao mínimo (máximo) válido
– uma unidade abaixo do mínimo
– uma unidade acima do máximo
– arquivo vazio
– arquivo maior ou igual à capacidade máxima de 
armazenamento
– cálculo que pode levar a “overflow” (“underflow”)
– erro no primeiro (último) registro
Análise do Valor Limite – Exemplo 1
18
Análise de Valor Limite – Exemplo 2
• Um campo de entrada (input field) referente ao ano 
de aniversário aceita valores de 1900 até 2004. 
Utilizando a análise do valor limite o teste usaria 
quais valores? 
a) 0,1900,2004,2005
b) 1900, 2004
c) 1899,1900,2004,2005
d) 1899, 1900, 1901,2003,2004,2005
Grafo Causa-Efeito
• Verifica o efeito combinado de dados de entrada. 
• As causas (condições de entrada) e os efeitos (ações) 
são identificados e combinados em um grafo a partir 
do qual é montada uma tabela de decisão
• A partir da tabela de decisão são derivados os casos 
de teste e as saídas
19
Grafo Causa-Efeito - Exemplo 1
• “Em um programa de compras pela Internet, a cobrança ou não do 
frete é definida seguindo tal regra: Se o valor da compra for maior 
que R$ 60,00 e foram comprados menos que 3 produtos, o frete é 
gratuito. Caso contrário, o frete deverá ser cobrado.” 
Casos de Teste (61,2,“frete grátis”)
(61,3,“cobrar frete”)
(60, qualquer quantidade,“cobrar frete”)
Tabela de Decisão
20
Referências Bibliográficas
• KOSCIANSKI, A. e SOARES, M. S. 
Qualidade de Software. NOVATEC.
• PRESSMAN, R. S. Engenharia de 
Software. McGraw Hill,
• Notas de Aula do Prof. David 
Zanetti, Qualidade de Software -
Unicarioca

Continue navegando