Você está na página 1de 31

CCT0711 - QUALIDADE E TESTE DE SOFTWARE

Aula 05
A primeira coisa que as maioria das pessoas pensam quando falamos de teste
de software é:

Tem que testar TUDO!


Porém, o que não se considera nesses casos é que softwares são complexos
por natureza e têm diversas possibilidades de combinações de entradas e
caminhos.
Técnica Formais de Particionamento

Técnicas formais de testes de software reconhecidas pela certificação de


testadores (ISTQB - International Software Testing Qualifications Board)

https://www.istqb.org/

­Dividir as possíveis entradas em grupos de valores representativos:


1. Por classes de equivalência
2. Por análise de valor limite
3. Tabela de Decisão
Particionamento por classes de equivalência

O particionamento de equivalência é uma técnica de testes com base em


requisitos (também conhecida como caixa preta), que significa que ao utilizar
esta técnica, a pessoa que testa aplicações passa a ter noção clara de
cobertura de testes a partir de requisitos e especificações. Este tipo de técnica
não requer conhecimento dos caminhos internos, estrutura ou implementação
do software sob teste.
Particionamento por classes de equivalência

O particionamento de equivalência divide as entradas do usuário na aplicação


em partições (também conhecidas como classes de equivalência) e então as
divide em faixas de valores possíveis, para que então, um desses valores seja
eleito como base para o teste. Existem partições de equivalência para valores
válidos e inválidos.

Valores válidos são valores que devem ser aceitos pelo sistema. Uma partição
de equivalência contendo este tipo de valor é chamada de “partição de
equivalência válida”. Valores inválidos são valores que devem ser rejeitados
pelo sistema. Uma partição de equivalência contendo estes valores é chamada
de “partição de equivalência inválida”.
Particionamento por classes de equivalência

Considere que na sua empresa há um sistema de recursos humanos que


processa pedidos de emprego com base na idade de uma pessoa e que possui
as seguintes regras de negócio:

 Pessoas menores de 16 anos não devem trabalhar


 Pessoas entre 16 e 60 anos podem trabalhar
 Pessoas com mais de 60 anos não podem trabalhar
Particionamento por classes de equivalência
Particionamento por classes de equivalência

Dado este conjunto de regras, é claro que não teremos tempo de testar tudo.
Por isso, o particionamento de equivalência te orienta a escolher subconjuntos
de testes que encontrarão mais defeitos do que um número equivalente de
testes criados aleatoriamente.

Qualquer um dentro da partição é tão bom quanto qualquer outro. Dados que
pertencem à mesma partição devem ser tratados da mesma forma pelo sistema
ou devem produzir o mesmo resultado, logo, qualquer valor dentro de uma
classe é equivalente, em termos de teste, a qualquer outro valor.
Particionamento por classes de equivalência

Para obter uma cobertura de 100% com essa técnica, os casos de teste devem
cobrir todas as partições identificadas (incluindo partições inválidas)* usando no
mínimo um valor de cada partição.
Particionamento por classes de equivalência

Com esses valores, esperamos que:


Se um caso de teste em uma classe de equivalência detectar um defeito,
todos os outros casos de teste na mesma classe de equivalência
provavelmente detectarão o mesmo defeito.


Se um caso de teste em uma classe de equivalência não detectar um defeito,
nenhum outro caso de teste na mesma classe de equivalência é provável que
detecte o defeito.
Particionamento por classes de equivalência

Quando partições de equivalência inválidas são usadas em casos de teste, elas


devem ser testadas individualmente, ou seja, não podem ser combinadas com
outras partições de equivalência inválidas, para garantir que as falhas não
sejam mascaradas. Falhas podem ser mascaradas quando várias falhas
ocorrem ao mesmo tempo, mas apenas uma é visível, fazendo com que as
outras falhas não sejam detectadas.
Particionamento por classes de equivalência

Sua utilização consiste basicamente em dois passos:


Identifique as classes de equivalência

Crie um caso de teste para cada classe de equivalência

É importante ressaltar que esta técnica baseia-se em requisitos e não na tela.


Usar a tela como foco para definir as entradas, faz com que um número maior
de testes sejam escritos e dificulta a eficiência na validação de requisitos.
Particionamento por classes de equivalência

Mais um Exemplo: "Crianças menores de 2 anos viajam de ônibus


gratuitamente. Os jovens pagam $ 10, os adultos $ 15 e os idosos pagam $ 5."

Classes de equivalência:

Preço: 0 → Idade: 0-1


Preço: 10 → Idade: 2-14
Preço: 15 → Idade: 15- 64
Preço: 5 → Idade: 65-infinito
Particionamento por classes de equivalência

https://www.youtube.com/watch?v=La9IKyUmGxY

https://www.youtube.com/watch?v=Ye8p4gUdYfY
Particionamento por análise do valor limite
Particionamento por análise do valor limite

Usamos a técnica análise do valor limite para gerar casos de teste para intervalos
numéricos.

Para usar a análise do valor limite nos testes, descobrimos os limites do campo que
queremos testar.

Como exemplo, e um intervalo no qual os números válidos são entre 0 e 5, os limites


serão 0 e 5.

Zero representa o limite interior.

Cinco representa o limite superior.

A técnica nos diz que devemos testar um valor imediatamente abaixo do que o limite, o
valor limite e um valor imediatamente acima do valor limite.
Particionamento por análise do valor limite

Como exemplo, para um intervalo entre 0 e 5, precisamos testar os valores:

-1, 0, 1 para o valor limite 0

4, 5, 6 para o valor limite 5

Com isso, temos os casos de teste para esse intervalo numérico conforme a
técnica análise de valor limite.
Particionamento por análise do valor limite

https://youtu.be/NnamjfPYuiY

https://www.youtube.com/watch?v=BeARZT6ns5Y

https://www.youtube.com/watch?v=EQU5ODvmwzs

https://www.youtube.com/watch?v=UrZIcleeSjA
Particionamento por Tabela de Decisão

A Tabela de Decisão pode ser usada nas mais diversas fases do ciclo de vida do
software, desde a ideação, o amadurecimento e a escrita dos requisitos, pois é
possível apresentar de maneira simples as prováveis combinações para o
negócio e qual deve ser a saída esperada, de acordo com cada variação,
deixando o requisito mais compreensível e facilitando também a leitura pelo
restante do time.
Particionamento por Tabela de Decisão

Exemplo de Requisito

1.1 — Caso o cliente possua a conta há dois anos ou mais, e possua saldo
superior a R$ 2000,00 o mesmo deve considerado Cliente VIP.

1.2 — Caso o cliente possua a conta há dois anos ou mais, e possua saldo
inferior a R$ 2000,00 o mesmo não deve considerado Cliente VIP.

1.3 — Caso o cliente não possua a conta há dois anos ou mais, o mesmo não
deve considerado Cliente VIP independentemente do valor em conta.
Particionamento por Tabela de Decisão
Particionamento por Tabela de Decisão

Requisito 1 — Deve ser permitido a venda de bebida alcoólica somente para


pessoas com 18 anos ou mais.
Particionamento por Tabela de Decisão

Requisito 2 — Deve ser permitido que a Pessoa Física viaje ao exterior apenas
quando a mesma possua mais de 18 anos e passaporte válido, menores de 18
devem estar acompanhadas de um responsável legal e portar o passaporte
válido.
Particionamento por Tabela de Decisão

Requisito 2 — Deve ser permitido que a Pessoa Física viaje ao exterior apenas
quando a mesma possua mais de 18 anos e passaporte válido, menores de 18
devem estar acompanhadas de um responsável legal e portar o passaporte
válido.
Leitura

https://blog.geekhunter.com.br/tecnicas-de-caixa-preta-e-branca-para-teste-de-
software/

Você também pode gostar