Você está na página 1de 7

Captulo 3 - Mtodo Estrutural

(Mtodo da CAIXA BRANCA)

Tpicos: (tcnicas)
3.1
3.2
3.3
3.4

Introduo
Testes de cobertura de instrues
Testes de cobertura de loops
Testes de cobertura de caminhos

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2 Caixa Branca

Mtodo Estrutural (Teste Caixa Branca)

2/14

Os casos de teste, neste mtodo, so escolhidos de modo que:

todas as decises sejam executadas;


todos os "loops" sejam executados, nos seus limites
de especificao;
todos os caminhos sejam considerados;
todas as estruturas de dados sejam utilizadas.

Motivao:
Os erros de software ocorrem com mais freqncia nos
casos especiais, normalmente nos casos eventuais e pouco
executados.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2a Instrues

Mtodo Estrutural (Teste Caixa Branca)

3/14

So trs as principais abordagens tcnicas :


a) Testes de cobertura de instrues.
b) Testes de cobertura de loops.
c) Testes de cobertura de caminhos.
a) Testes de cobertura de instrues.
Tcnica elementar para determinao geral de casos de teste.
Examina o comportamento de um mdulo atravs do teste
isolado de cada linha de cdigo sob o efeito das operaes
elementares de "seleo ou repetio (loop)", no considerando
os testes da operao completa com estes componentes.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2a Instrues

Exemplo de testes de cobertura de instrues


Possibilidades:
1) X falso X = 5
2) X verdadeiro X = 1
3) Y verdadeiro Y = 9
4) Y falso Y = 20

a
F

4/14

V
X=1
X = X+30

X = X+10

X = X+20
Y = Y+1

Y < 10
V
a

Obs.: Devido a combinaes imprprias de hipteses, a tcnica pode sugerir


casos de teste para situaes impossveis de ocorrer. Estes casos no devem
ser selecionados. A utilizao do "bom senso" recusa a seleo destes casos.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2b Loops

Mtodo Estrutural (Teste Caixa Branca)

5/14

b) Testes de cobertura de loops


Tcnica para determinao de casos de teste para
repeties/loops. Examina o comportamento de um mdulo
atravs de testes sob o efeito da associao combinada, ou no,
das operaes de "repetio (loop)".
Tipos de loops:
i) Simples

ii) Aninhados

iii)Seqenciais

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2b Loops

Mtodo Estrutural (Teste Caixa Branca)

6/14

iv) Loops no estruturados

Devem ser convertidos em loops estruturados.

A tcnica:
Loops simples: ( nmero mximo de iteraes = n )
1)
2)
3)
4)
5)

no executar o loop
apenas uma execuo
duas execues
m execues (m < n)
execues para as situaes: n - 1; n; n +1;

total de casos de teste: 6 + 1 (no executar)


Obs.: Esta tcnica usa o artifcio de induo matemtica
para produzir os casos de teste.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2b Loops

Mtodo Estrutural (Teste Caixa Branca)

7/14

Loops aninhados:
Estratgia sugerida:
i.
Iniciar pelo lao (loop) mais interno e operar os
demais loops com os valores mnimos;
ii. Elaborar os casos de teste de loop simples;
iii. Trabalhar sucessivamente do loop mais interno para
o loop externo seguinte;

Loops seqenciais:
Estratgia sugerida:
i.
Quando os loops so independentes, ou seja, a
expresso de controle do 2 loop no afetada pelo
primeiro, ento usar a abordagem para elaborar
casos de teste para loop simples;
ii. Quando os loops no so independentes, ento
elaborar casos de teste da mesma forma que para
loops aninhados;
UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2b Loops

Exemplo de testes de cobertura de loops

8/14

Exemplo para loops aninhados:


enquanto
T < 30

Principal
enquanto
R < 42

Mdulo A

Mdulo B

O loop interno (condio T < 30) implica em 7 ( 6+1 ) casos de teste.


O loop externo (condio R < 42) implica em 7 ( 6+1 ) casos de teste.
O conjunto implica em:
1. 7 x 7 = 49 casos de teste, se os loops forem dependentes;
2. 6+ 6+1 = 13 casos de teste, se os loops forem independentes.
UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2c Caminhos

Mtodo Estrutural (Teste Caixa Branca)

9/14

c) Testes de cobertura de caminhos.


Tcnica para definio de casos de teste com base nos critrios
anteriormente definidos, de modo que, o conjunto de casos de
teste escolhido seja relativamente pequeno (minimizado).
Os casos de teste so produzidos com base em um "grafo de
fluxo de controle".
Grafo de Fluxo de Controle:
a) Caractersticas principais:

Possuem como elementos bsicos: o n e o ramo.

Cada n representa um ou mais comandos
seqenciais do mdulo.

Cada ramo inicia e termina em um n.

As reas delimitadas pelos ramos so denominadas
regies.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2c Caminhos

Mtodo Estrutural (Teste Caixa Branca)

Grafo de Fluxo de Controle:

Seqncia

Deciso

Repeat
Until

Case

10/14

b) Notao:
Ramo

c) Determinao da complexidade de
um grafo:

pelo nmero de regies do
grafo ou;

pela expresso:
C = NR - NN + 2
NR = nmero de ramos
NN = nmero de ns

Do
While

A complexidade de um grafo,
fornecida pela expresso,
equivalente ao grau de
complexidade, ou a dificuldade
de construo, do mdulo que
gerou o grafo.

...

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2c Caminhos

Exemplo de testes de cobertura de caminhos

11/14

1. Diagrama do programa e grafo associado:

Principal
X

enquanto
R < 42

enquanto
T < 30
Y

1
5

3
2

Mdulo A

Mdulo B

C = complexidade = nmero de regies = 5 = 8 - 5 + 2 = 5


o que recomenda 5 casos de teste para atendimento da tcnica
UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2c Caminhos

Exemplo de testes de cobertura de caminhos

O fluxograma do mdulo:
11

12/14

O grafo associado:
z

y
7

10
8

3
2

complexidade = nmero de regies = 4


c = 12 - 10 + 2 = 4
UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

3.2 Caixa Branca

Exemplo do planejamento de testes combinados

13/14

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

3.2 Caixa Branca

Exemplo de testes combinados

14/14

a
F

V
X=1
X = X+30

X = X+10

X = X+20
Y = Y+1

Y < 10
V
a

Aplicao da Cobertura de Caminhos:


Aplicao da combinao das
tcnicas:

C=3

Casos de Teste
entrada
1) X =1 , Y = 20;
2) X =21, Y = 20;
3) X =1, Y = 9;

saida
X =11, Y = 20
X =41, Y = 20
X =41, Y = 10

Combinando as tcnicas
anteriores
O nmero mnimo de casos
de teste segundo o mtodo da
caixa branca de 13 casos de
teste. Sero dois grupos de
casos para teste de loop
simples, ento 2 x 6 + 1= 13.

UERJ CTC/IME Engenharia de Software 09-1 Prof. A Padua Oliveira

Testes Essenciais

Você também pode gostar