T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
SSC721 – Teste e Inspe¸c˜ ao de Software
T´ ecnica de Teste Funcional Simone Senger de Souza
[email protected]
Instituto de Ciˆ encias Matem´ aticas e de Computa¸ c˜ ao — ICMC/USP
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
T´ ecnica Funcional
Crit´ erios de Teste Funcionais
Particionamento em Classes de Equivalˆ encia An´ alise do Valor Limite
Conclus˜ ao
Exerc´ıcio de Fixa¸ c˜ ao
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Diferentes t´ ecnicas e crit´ erios de teste existem para auxiliar na atividade de teste.
Basicamente, os testes podem ser classificados em teste caixa-preta (teste funcional) ou
teste caixa-branca (teste estrutural).
Contemplam diferentes perspectivas do software:
aspecto complementar!!!!
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional
Aplicabilidade da T´ecnica
Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Tamb´ em conhecida como T´ ecnica Caixa-Preta Considera o produto em teste como uma caixa da qual s´ o se conhece a entrada e a sa´ıda (sem conhecimento da parte interna).
Baseia-se na especifica¸ c˜ ao do software para derivar os requisitos de teste.
Aborda o software de um ponto de vista macrosc´ opico.
N˜ ao se preocupa com detalhes de implementa¸ c˜ ao.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional
Aplicabilidade da T´ecnica
Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Passos b´ asicos para aplicar um crit´ erio de teste funcional:
A especifica¸ c˜ ao de requisitos ´ e analisada.
Entradas v´ alidas s˜ ao escolhidas para determinar se o produto em teste comporta-se corretamente.
Entradas inv´ alidas s˜ ao escolhidas para verificar se estas s˜ ao detectadas e manipuladas adequadamente.
Os casos de testes s˜ ao constru´ıdos (sa´ıdas s˜ ao determinadas para cada entrada).
O conjunto de teste ´ e executado e as sa´ıdas obtidas s˜ ao comparadas com as sa´ıdas esperadas.
Um relat´ orio ´ e gerado para avaliar o resultado dos
testes.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional
Aplicabilidade da T´ecnica
Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Por ser independente da implementa¸ c˜ ao, crit´ erios da t´ ecnica funcional podem ser utilizados em todas as fases de teste.
A complexidade de aplica¸ c˜ ao aumenta em cada fase.
Figura : Aplicabilidade da T´ ecnica Funcional nas Fases de
Teste.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Crit´ erios de teste funcionais mais conhecidos:
Particionamento em Classes de Equivalˆ encia Divide o dom´ınio de entrada (e de sa´ıda) de um programa em classes de equivalˆ encia, a partir das quais derivam-se os casos de teste.
An´ alise do Valor Limite
Complementa o crit´ erio Particionamento de Equivalˆ encia, exigindo casos de teste nos limites (fronteiras) de cada classe de equivalˆ encia.
Grafo de Causa-Efeito
Verifica o efeito combinado de dados de entrada.
Causas (condi¸ c˜ oes de entrada) e efeitos (a¸ c˜ oes) s˜ ao identificados e combinados em um grafo.
Tabela de Decis˜ ao → Casos de Teste
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Crit´ erio utilizado para reduzir o n´ umero de casos de teste, procurando garantir uma boa cobertura do c´ odigo do produto em teste.
Empregado intuitivamente pelos programadores
mesmo sem conhecer o crit´ erio.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Exemplo: Parte de um Sistema de Recursos Humanos que determina contrata¸ c˜ oes com base na idade dos candidatos.
0 – 16 N˜ ao empregar.
16 – 18 Pode ser empregado tempo parcial.
18 – 55 Pode ser empregado tempo integral.
55 – 99 N˜ ao empregar.
Como derivar os casos de teste?
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Considere que o m´ odulo que resolve o problema anterior tenha sido implementado como se segue:
1
i f ( i d a d e == 0 ) e m p r e g a r = ”NAO” ;
2
i f ( i d a d e == 1 ) e m p r e g a r = ”NAO” ;
3
. . .
4
i f ( i d a d e == 1 5 ) e m p r e g a r = ”NAO” ;
5
i f ( i d a d e == 1 6 ) e m p r e g a r = ”PAR ” ;
6
i f ( i d a d e == 1 7 ) e m p r e g a r = ”PAR ” ;
7
i f ( i d a d e == 1 8 ) e m p r e g a r = ”INT ” ;
8
i f ( i d a d e == 1 9 ) e m p r e g a r = ”INT ” ;
9
. . .
10
i f ( i d a d e == 5 3 ) e m p r e g a r = ”INT ” ;
11
i f ( i d a d e == 5 4 ) e m p r e g a r = ”INT ” ;
12
i f ( i d a d e == 5 5 ) e m p r e g a r = ”NAO” ;
13
i f ( i d a d e == 5 6 ) e m p r e g a r = ”NAO” ;
14
. . .
15
i f ( i d a d e == 9 8 ) e m p r e g a r = ”NAO” ;
16
i f ( i d a d e == 9 9 ) e m p r e g a r = ”NAO” ;
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Neste caso, a ´ unica forma de test´ a-lo
adequadamente seria executar o m´ odulo com valores de idade de 0..99.
Caso haja tempo suficiente, esse ´ e o melhor teste a ser realizado!
O problema ´ e que da forma como o c´ odigo anterior
foi implementado, a execu¸ c˜ ao de um dado caso de
teste n˜ ao diz nada a respeito da execu¸ c˜ ao do
pr´ oximo.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Considere agora uma outra implementa¸ c˜ ao (bem melhor!!) do mesmo problema:
1
i f ( i d a d e >= 0 && i d a d e <= 1 6 )
2
e m p r e g a r = ”NAO” ;
3
i f ( i d a d e >= 16 && i d a d e <= 1 8 )
4
e m p r e g a r = ”PAR ” ;
5
i f ( i d a d e >= 18 && i d a d e <= 5 5 )
6
e m p r e g a r = ”INT ” ;
7
i f ( i d a d e >= 55 && i d a d e <= 9 9 )
8
e m p r e g a r = ”NAO” ;
Dada essa implementa¸ c˜ ao, fica claro que n˜ ao ´ e necess´ ario testar para todos os valores 0, 1, 2, · · · , 14, 15 e 16, por exemplo.
Apenas um conjunto de valores precisa ser testado.
Quais seriam esses valores?
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Qualquer valor dentro do intervalo tem a mesma importˆ ancia, ou seja, qualquer valor escolhido ´ e adequado.
O mesmo se aplica para os demais intervalos de dados.
Tais intervalos determinam o que ´ e chamado de Classes de Equivalˆ encia.
Qualquer valor no intervalo de uma classe ´ e considerado equivalente em termos de teste.
Se um caso de teste de uma classe de equivalˆ encia
revela um erro, qualquer caso de teste da mesma
classe tamb´ em revelaria e vice-versa.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Esse crit´ erio assume que existe uma indica¸ c˜ ao precisa das classes de equivalˆ encia.
E assumido que n˜ ´ ao existe algo estranho como:
1
i f ( i d a d e >= 0 && i d a d e < = 1 6 )
2
e m p r e g a r = ”NAO” ;
3
i f ( i d a d e >= 16 && i d a d e <= 1 8 )
4
e m p r e g a r = ”PAR ” ;
5
i f ( i d a d e >= 18 && i d a d e <= 4 1 )
6
e m p r e g a r = ”INT ” ;
7
// i n´ıc i o comado e s t r a n h o
8
i f ( i d a d e == 42 && nome == ”F u l a n o ”)
9
e m p r e g a r = ”INT−DIF ” ;
10
i f ( i d a d e == 42 && nome != ”F u l a n o ”)
11
e m p r e g a r = ”INT ” ;
12
// f i m comando e s t r a n h o
13
i f ( i d a d e >= 55 && i d a d e <= 9 9 )
14
e m p r e g a r = ”NAO” ;
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Observe que esse crit´ erio de teste reduz o n´ umero de casos de teste de 100 para 4 (um para cada classe de equivalˆ encia).
Devem ser considerados casos de teste inv´ alidos!
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Identificar as classes de equivalˆ encia (requisitos de teste do crit´ erio).
Condi¸ c˜ oes de entrada.
Classes v´ alidas e inv´ alidas.
Definir os casos de teste.
Enumerar as classes de equivalˆ encia.
Criar casos de teste para as classes de equivalˆ encia v´ alidas.
Criar um caso de teste para cada classe de equivalˆ encia inv´ alida.
Entradas inv´ alidas s˜ ao grandes fontes de defeitos!
Casos de teste adicionais podem ser criados caso
haja tempo e dinheiro suficientes.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
O programa string solicita do usu´ ario um inteiro positivo no intervalo entre 1 e 20 e ent˜ ao solicita uma cadeia de caracteres desse comprimento. Ap´ os isso, o programa solicita um caracter e retorna a posi¸ c˜ ao na cadeia em que o caracter ´ e encontrado pela primeira vez ou uma mensagem indicando que o caracter
n˜ ao est´ a presente na cadeia. O usu´ ario tem a op¸ c˜ ao de
procurar por v´ arios caracteres - um de cada vez!!
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Condi¸ c˜ ao Classes de Classes de
de entrada equivalˆ encia v´ alidas equivalˆ encia inv´ alidas
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Identificar as condi¸ c˜ oes de entrada:
Condi¸ c˜ ao Classes Classes de entrada v´ alidas inv´ alidas Tamanho da cadeia (T)
A cadeia de caracteres (CC) O caractere a ser procurado (C)
Procurar mais caracteres (O)
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Identificar as classes v´ alidas e inv´ alidas:
Condi¸ c˜ ao Classes Classes de entrada v´ alidas inv´ alidas Tamanho (T) 1 ≤ T ≤ 20 T < 1 e T > 20
A cadeia (CC) CC ≡ T CC 6= T
O caractere (C) Pertence N˜ ao pertence
Procurar mais (O) S N Outro
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Criar casos de teste:
Condi¸ c˜ ao Classes Classes
de entrada v´ alidas inv´ alidas
Tamanho (T) 1 ≤ T ≤ 20 (1) T < 1 (2) e T > 20 (3)
A cadeia (CC) CC ≡ T (4) CC 6= T (5)
O caractere (C) Pertence (6) N˜ ao pertence (7)
Procurar mais (O) S (8) N (9) Outro (10) Conjunto de Casos de Teste:
T= {(<6, ”alface”, a, N> , 1), (<6, ”alface”, x, N> , n˜ ao
pertence), (<6, ”alface”, a, S, c, N >, 1, 5), (-2, T inv´ alido),
(<6, ”alfa”, >, string inv´ alida) (<6, ”alface”, a, X >, 1,
entrada inv´ alida), (25, T inv´ alido) }
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Ilustra a defini¸ c˜ ao de classes de equivalˆ encia para diferentes tipos de dados.
Classes para Dados Cont´ınuos
(renda mensal para hipoteca deve estar entre de R$1.000 a R$83.333):
S˜ ao definidas duas classes inv´ alidas e uma v´ alida.
Para a classe v´ alida poderia ser escolhido R$1.342/mˆ es.
Para as classes inv´ alidas poderiam ser escolhidos
R$123/mˆ es e R$90.000/mˆ es.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Classes para Dados Discretos (hipotecas de 1 a 5 casas):
S˜ ao definidas duas classes inv´ alidas e uma v´ alida.
Para a classe v´ alida poderia ser escolhido 2.
Para as classes inv´ alidas poderiam ser escolhidos -2
e 8.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Classes para Dados Simples
(somente hipoteca para pessoas ´ e permitido):
S˜ ao definidas uma classe inv´ alida e uma v´ alida.
Para a classe v´ alida poderia ser escolhida uma pessoa qualquer.
Para a classe inv´ alida deve ser escolhida uma
companhia ou associa¸ c˜ ao.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Classes para Dados de M´ ultipla Escolha
(trˆ es tipos de hipoteca s˜ ao v´ alidas: condom´ınio, sobrado e casa t´ errea):
Para o intervalo v´ alido pode-se escolher:
condom´ınio, sobrado ou casa t´ errea.
Escolher somente um ou os trˆ es? Depende da criticalidade do programa em teste. Se forem poucos itens vale a pena selecionar um de cada.
O mesmo para a classe inv´ alida.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Devido ao n´ umero de condi¸ c˜ oes de entrada, n˜ ao h´ a tempo para a cria¸ c˜ ao de um caso de teste para cada classe v´ alida.
Solu¸ c˜ ao: Criar o menor n´ umero poss´ıvel de casos de teste que cubra todas as classes v´ alidas.
Criar um caso de teste para cada classe inv´ alida.
Renda # Casas Aplicante Tipo Resultado 5.000 2 Pessoas Condom´ınio V´ alido
100 1 Pessoas Casa T´ errea Inv´ alido 90.000 1 Pessoas Casa T´ errea Inv´ alido 1.342 0 Pessoas Condom´ınio Inv´ alido 1.342 6 Pessoas Condom´ınio Inv´ alido 1.342 1 Corpora¸ c˜ ao Sobrado Inv´ alido
1.342 1 Pessoas Duplex Inv´ alido
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia
Passos para Aplica¸c˜ao Exemplos de Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Reduz significativamente o n´ umero de casos de teste em rela¸ c˜ ao ao teste exaustivo.
Mais adequado para o teste de produtos com dom´ınios de entrada divididos em intervalos ou conjuntos.
Assume que os valores dentro da mesma classe s˜ ao equivalentes (isso nem sempre ´ e verdade!).
Importante empregar outros crit´ erios de teste!!
Aplic´ avel em todas as fases de teste: unidade,
integra¸ c˜ ao e sistema.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
Complementa o crit´ erio Particionamento de Equivalˆ encia, exigindo casos de teste nos limites (fronteiras) de cada classe de equivalˆ encia.
Considerando o exemplo utilizado anteriormente:
0 – 16 N˜ ao empregar.
16 – 18 Pode ser empregado tempo parcial.
18 – 55 Pode ser empregado tempo integral.
55 – 99 N˜ ao empregar.
Observe que os limites aparecem em duas classes de
equivalˆ encia (16 por exemplo).
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
As condi¸ c˜ oes anteriores, na verdade, deveriam ser escritas como:
0 ≤ idade < 16 N˜ ao empregar.
16 ≤ idade < 18 Pode ser empregado tempo parcial.
18 ≤ idade < 55 Pode ser empregado tempo integral.
55 ≤ idade < 99 N˜ ao empregar.
ou
0 ≤ idade ≤ 15 N˜ ao empregar.
16 ≤ idade ≤ 17 Pode ser empregado tempo parcial.
18 ≤ idade ≤ 54 Pode ser empregado tempo integral.
55 ≤ idade ≤ 99 N˜ ao empregar.
Na primeira regra, 16 n˜ ao deve ser inclu´ıdo.
Na segunda 16 pode ser empregado em tempo parcial.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
A implementa¸ c˜ ao a seguir implementa as regras anteriores:
1
i f ( i d a d e >= 0 && i d a d e <= 1 5 )
2
e m p r e g a r = ”NAO” ;
3
i f ( i d a d e >= 16 && i d a d e <= 1 7 )
4
e m p r e g a r = ”PAR ” ;
5
i f ( i d a d e >= 18 && i d a d e <= 5 4 )
6
e m p r e g a r = ”INT ” ;
7
i f ( i d a d e >= 55 && i d a d e <= 9 9 )
8
e m p r e g a r = ”NAO” ;
Valores limites a serem considerados: {−1, 0},
{15, 16}, {17, 18}, {54, 55} e {99, 100}
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
Identificar as classes de equivalˆ encia (requisitos de teste do crit´ erio).
Identificar os limites de cada classe.
Criar casos de teste para os limites escolhendo:
Um ponto abaixo do limite.
O limite.
Um ponto acima do limite.
Observe que acima e abaixo s˜ ao termos relativos e dependentes do valor dos dados.
N´ umeros inteiros: limite = 16; abaixo = 15;
acima = 17.
N´ umeros reais: limite = $5,00; abaixo = $4,99;
acima = $5,01.
Casos de teste adicionais podem ser criados
dependendo dos recursos dispon´ıveis.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
Casos de Teste para An´ alise do Valor Limite:
Condi¸ c˜ ao Classes Classes de entrada v´ alidas inv´ alidas Tamanho (T) 1 ≤ T ≤ 20 T < 1 e T > 20
A cadeia (CC) CC ≡ T CC 6= T
O caractere (C) Pertence N˜ ao pertence
Procurar mais (O) S N Outro
Conjunto de Casos de Teste:
T= { ??? }
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite
Passos para Aplica¸c˜ao Aplicabilidade e Limita¸c˜oes
Conclus˜ao Exerc´ıcio de Fixa¸c˜ao
Reduz significativamente o n´ umero de casos de teste em rela¸ c˜ ao ao teste exaustivo.
Mais adequado para o teste de produtos com dom´ınios de entrada divididos em intervalos ou conjuntos.
Aplic´ avel em todas as fases de teste: unidade,
integra¸ c˜ ao e sistema.
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
A t´ ecnica funcional pode ser utilizada em todas as fases de teste.
Independe do paradigma de programa¸ c˜ ao utilizado.
Eficaz em detectar determinados tipos de erros.
Por exemplo: Funcionalidade ausente.
Dependente de uma boa especifica¸ c˜ ao de requisitos.
Especifica¸c˜ oes descritivas e n˜ ao formais.
Requisitos imprecisos e informais.
Dificuldade em quantificar a atividade de teste.
N˜ ao ´ e poss´ıvel garantir que partes essenciais ou cr´ıticas do software sejam executadas.
Dificuldade de automatiza¸ c˜ ao: em geral, a aplica¸ c˜ ao
´
e manual.
Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao
Equivalˆ encia e An´ alise do Valor Limite .
O programa Identifier determina se um identificador ´ e v´ alido ou n˜ ao. Um identificador v´ alido deve come¸ car com
uma letra e conter apenas letras ou d´ıgitos. Al´ em disso, deve ter no m´ınimo um caractere e no m´ aximo seis
caracteres de comprimento.
Identificadores V´ alidos abc12
C4d5 dcdf
Identificadores Inv´ alidos cont*1
1soma
a123456
SSC721 – Teste e Inspe¸c˜ao de Software
Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia An´alise do Valor Limite Conclus˜ao
Exerc´ıcio de Fixa¸c˜ao