Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

36

Transcript of Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Page 1: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.
Page 2: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Técnicas de Testes Caixa-PretaMarília Oliveira 07/08/2007

Page 3: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Introdução

Testes caixa-preta são aqueles baseados em especificações que descrevem o

comportamento externo do sistema (as saídas) em relação a um conjunto de

entradas.

Page 4: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Cenário Comuns

• Especificações diferentes

• Diferentes tipos de entrada

• Grande número de entradas possíveis

• Plataformas diferentes

Quais testes executar?

Testes de Caixa Preta

Page 5: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tipos de Testes Caixa Preta

• Classe de Equivalência

• Valores Limites

• Tabela de Decisão

• Pairwise

• Transição de Estados

Page 6: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Classe de Equivalência

Page 7: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Classes de Equivalência• É uma técnica usada para reduzir a

quantidade de casos de testes a um montante gerenciável, mas mantendo um elevado grau de cobertura

Page 8: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Classes de Equivalência• O conjunto de entradas

possíveis é dividido em partições;

• Os elementos de um subconjunto são equivalentes em relação a uma característica;

• Os subconjuntos são disjuntos.

s1

s2

s3

s4

Page 9: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Classes de Equivalência

• A técnica admite que se as entradas estão divididas em partições de equivalência, o comportamento do sistema será o mesmo para qualquer entrada escolhida em uma mesma partição.

• Dessa forma não é preciso testar todas as entradas possíveis, basta testar uma opção de cada partição.

Page 10: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Classes de Equivalência• Exemplos:

– Em um sistema de cadastro de clientes:• Se o cliente for pessoa física, devem ser

informados os dados: Nome, RG, CPF e Endereço.

• Se o cliente for pessoa jurídica, devem ser informados os dados: Razão Social, Nome Fantasia, CNPJ, Endereço.

Page 11: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira

Page 12: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira• É uma técnica em testes de software

utilizada para testar valores nas “fronteiras” das faixas de entrada, por exemplo...

Page 13: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira• Considere as seguintes regras

organizacionais, sobre contratação baseada em idade, em um programa de uma empresa de recursos humanos:

– 0-16 Não Contrata– 16-18 Contrata meio-expediente– 18-55 Contrata tempo integral– 55-99 Não Contrata

Page 14: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira• Uma regra correta seria:

• Se (idadeCandidato >= 0 && idadeCandidato <= 15) estadoContratação = “Não”;

• Se (idadeCandidato >= 16 && idadeCandidato <= 17) estadoContratação = “Meio”;

• Se (idadeCandidato >= 18 && idadeCandidato <= 54) estadoContratação = “Integral”;

• Se (idadeCandidato >= 55 && idadeCandidato <= 99) estadoContratação = “Não”;

• Conjuntos de valores interessantes para serem testados são {-1,0,1},{15,16,17},{17,18,19},{54,55,56} e {98,99,100}.

• Dependendo das pré-condições, valores como {-42, 1001, FRED, %$#@} também devem ser testados!

Page 15: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira• Passos:1. Identifique as classes de equivalência.2. Identifique as fronteiras de cada classe.3. Crie casos de teste para cada valor de fronteira,

escolhendo um ponto abaixo, um acima e outro ponto na fronteira.

Obs.: “Acima” e “abaixo” são termos relativos, dependendo da unidade, exemplo: Inteiros, Moeda, horas, etc.

Page 16: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Valores de Fronteira

Técnicas de Casos de Teste para Caixa Preta | 16

• No exemplo abaixo quais são os dados de entrada para testes de fronteira?

• E no caso a seguir:

$ 1000/month $ 83,333/month

Valores de Fronteiras

2 43 610 5

Valores de Fronteiras

Page 17: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão

Page 18: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão• Tabelas de decisão é uma excelente técnica

para capturar alguns tipos de requisitos do sistema e para documentar modelagens internas do sistema. Elas são utilizadas para registrar regras de negócio complexas. Também servem como guia para criar casos de teste.

Page 19: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão• Tabelas de decisão representam regras de negócio

complexas baseadas em um conjunto de condições:

Regra1 Regra2 ... Regra P

Condições

Cond-1

Cond-2

...

Cond-m

Ações

Ação-1

Ação-2

...

Ação-n

Page 20: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão• Condições de 1 a m, representam as condições

de entrada.• Ações de 1 a n, representam ações a serem

tomadas dependendo das combinações das várias condições.

Page 21: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão• Cada regra pode especificar uma ação exclusiva a

regra, ou regras podem compartilhar ações:

Regra1 Regra2 Regra3 Regra 4

Condições

Casado ? Sim Sim Não Não

Bom Estudante?

Sim Não Sim Não

Ações

Desconto 60 25 50 0

Page 22: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão• Uma regra também pode possuir mais de uma ação;

exclusiva ou compartilhada com outras regras:

Regra1 Regra2 Regra3 Regra 4

Condições

Cond-1 Sim Sim Não Não

Cond-2 Sim Não Sim Não

Ações

Ação-1 Do X Do Y Do X DO Z

Ação-2 Do-A Do B Do B Do B

Page 23: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Tabela de Decisão

• Valores das condições podem ser mais complexos:

Regra1 Regra2 Regra3 Regra 4

Condições

Cond-1 0 – 1 1 – 10 10 – 100 100 – 100

Cond-2 < 5 5 6 ou 7 >7

Ações

Ação-1 Do X Do Y Do X DO Z

Ação-2 Do-A Do B Do B Do B

Page 24: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise

Page 25: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• Web Site

– 8 browsers– 3 plug-ins– 6 sistemas operacionais

clientes– 3 servidores de aplicação– 3 servidores

– 1.296 combinações

Banco

4 tipos de cliente

5 tipos de conta

27 estados

540 combinações

O que estes exemplos possuem em comum?

Page 26: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• Cada um tem uma grande quantidade de

combinações a serem testadas.

• Cada um tem uma grande quantidade de combinações que podem ser muito arriscadas de não serem testadas.

Como selecionar um subconjunto razoavelmente pequeno e eficiente, que ache uma grande variedade de erros, mais, do que você esperaria de tal subconjunto?

A resposta é não tentar testar todas as combinações de valores e variáveis e sim testar todos os pares de variáveis.

Page 27: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• ExemplosExemplos:

• Para um sistema com 4 parâmetros diferentes cada um podendo assumir 3 valores, resulta em 34 = 81 combinações. Com Pairwise reduz-se para 9 testes.

• Para um sistema com 13 parâmetros diferentes cada um podendo assumir 3 valores, resulta em 313 = 1,594,323 combinações. Com Pairwise reduz-se para 15 testes.

• Para um sistema com 20 parâmetros diferentes cada um podendo assumir 10 valores, resulta em 1020 (100.000.000.000.000.000.000)

combinações. Com Pairwise reduz-se para 180 testes.

Page 28: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• Como pairwise funciona tão bem?

– Não se sabe ao certo!!!

• Importante !!• Teste por Pairwise pode não escolher combinações que

desenvolvedores e/ou testadores sabem que são freqüentes ou de alto risco. Caso isso ocorra use a técnica de pairwise e adicione casos de teste para minimizar os risco de deixar passar uma importante combinação.

Page 29: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• Em Lessons Learned in Software Testing, James

Bach criou um algoritmo para gerar todos os pares. Baseado no algoritmo, escreveu um programa chamado “Allpairs” (http://www.satisfice.com) que gera automaticamente todos os pares.

• Procedimentos1. Download e unzip Allpairs2. Preencha a tabela com os valores das variáveis do sistema

web (browser, plug-in, servidores, etc) abaixo no Excel salve como .txt

3. Execute o programa através do comando: allpairs imput.txt > output.txt

Browser Client OS Plg-in Server Server OS

IE 5.0 Win 95 None IIS Win NT

IE 5.5 Win 98 RealPlayer Apaache Win 2000

IE6.0 Win ME Media Player WebLogic Linux

Nestscape 6.0 Win NT      

Nestscape 6.1 Win 2000      

Nestscape 7.0 Win XP      

Mozilla 1.1        

Opera 7        

Page 30: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Pairwise• Output.txt

CASE Browser Client OS Plg-in Server Server OS pairings

1 IE 5.0 Win 95 None IIS Win NT 10

2 IE 5.0 Win 98 RealPlayer Apaache Win 2000 10

3 IE 5.0 Win ME Media Player WebLogic Linux 10

4 IE 5.0 Win NT ÿ ÿ ÿ 10

5 IE 5.0 Win 2000 ÿ ÿ ÿ 10

6 IE 5.0 Win XP ÿ ÿ ÿ 10

7 IE 5.0 ÿ ÿ ÿ ÿ 10

8 IE 5.0 ÿ ÿ ÿ ÿ 10

9 IE 5.5 Win 95 RealPlayer WebLogic ÿ 10

... ... ... ... ... ... ...95 ~Nestscape 6.0 ÿ ÿ WebLogic Win 2000 2

Page 31: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Transição de Estados

Page 32: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Transição de Estados• Ótima, para capturar requisitos e detalhes da

modelagem.

• Utilizada quando o sistema necessita ter “memória” ou quando pedidos de operação válidos e inválidos existem!!!

• Técnica vital para analistas, desenvolvedores, arquitetos, testadores, etc.

Page 33: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Transição de Estados• Diagramas de transições de estado definem como um

sistema interage com o mundo, os eventos que processa e a ordem válida e inválida desses eventos.

• Diagramas de transição de estado não são a única maneira de documentar o comportamento do sistema, mas são mais fáceis de entender.

• Tabelas de transição de estado são fáceis de utilizar.

Page 34: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Transição de Estados

CanceladoPorCliente Embarcado

darInfo/iniciarTimerPg

Feita

PagopagarDinheiro

Emitido

emitirBilhete/ Bilhete

entregarBilhete

CanceladoFaltaPg

timerPgExpirado

cancelarcancelar/reem

bolso

Cancelar[d

evolve

rBilh

et

e]/reembolso

Page 35: Técnicas de Testes Caixa-Preta Marília Oliveira 07/08/2007.

Considerações finais

• As técnicas não são excludentes

• As regras de negócio de um sistema geralmente mesclam essas características

• É possível considerar mais de uma técnicas para criar o conjunto adequado de casos de testes.