• Nenhum resultado encontrado

Técnica de Teste Funcional

N/A
N/A
Protected

Academic year: 2022

Share "Técnica de Teste Funcional"

Copied!
36
0
0

Texto

(1)

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

(2)

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

(3)

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!!!!

(4)

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.

(5)

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.

(6)

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.

(7)

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

(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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(9)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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?

(10)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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” ;

(11)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(12)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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?

(13)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(14)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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” ;

(15)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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!

(16)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(17)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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!!

(18)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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

(19)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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)

(20)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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

(21)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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) }

(22)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(23)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(24)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(25)

Inspe¸c˜ao de Software

Aula Anterior T´ecnica Funcional Crit´erios de Teste Funcionais Particionamento em Classes de Equivalˆencia

Passos para Aplica¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(26)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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

(27)

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¸ao Exemplos de Aplica¸ao Aplicabilidade e Limita¸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.

(28)

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¸ao Aplicabilidade e Limita¸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).

(29)

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¸ao Aplicabilidade e Limita¸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.

(30)

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¸ao Aplicabilidade e Limita¸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}

(31)

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¸ao Aplicabilidade e Limita¸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.

(32)

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¸ao Aplicabilidade e Limita¸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= { ??? }

(33)

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¸ao Aplicabilidade e Limita¸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.

(34)

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.

(35)

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

(36)

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

Classes V´ alidas e Inv´ alidas:

Conjunto de Casos de Teste:

Referências

Documentos relacionados

Então Ulisses, que todos diziam ser o mais manhoso dos homens, pensou, pensou e teve uma ideia: construir um enorme, um gigantesco cavalo de pau, assente num estrado com rodas para

A finalidade do “Documento de Arquitetura de Software - DAS” é definir um modelo arquitetural para ser aplicado ao desenvolvimento dos jogos do Desafio SEBRAE, bem como

principais experiências profissionais durante os últimos 5 anos, indicando: nome e setor de atividade da empresa, cargo e se a empresa integra (i) o grupo econômico do

• A Revolução Industrial corresponde ao processo de industrialização que teve início na segunda metade do.. século XVIII no

A partir do instrumental weberiano dos tipos de dominação, o autor salienta o papel do carisma como fundamental para se compreender a igreja, na medida em que, nesse

10° Aplicação de fórmulas: P9 e B13 para tosse ; B13 e B38 para asma ; BP6 e E30 para as regras dolorosas ; ID3 e C6 para transpiração noturna ; B54 e R1 para hipertensão,

Juiz Federal Titular da 7ª Vara Federal Criminal do Rio de Janeiro, Seção Judiciária do Rio de Janeiro, no uso de suas atribuições legais e na forma da Lei, FAZ SABER a todos

Proibida a reprodução parcial ou total sem autorização