• Nenhum resultado encontrado

Alexandre de Andrade Barbosa

N/A
N/A
Protected

Academic year: 2019

Share "Alexandre de Andrade Barbosa"

Copied!
43
0
0

Texto

(1)

Engenharia de Software 1

18 - Verifica¸c˜ao e Valida¸c˜ao: Testes estruturais

Alexandre de Andrade Barbosa

(2)

Objetivos

Descrever o Teste estrutural como alternativa para gerar casos de teste

Apresentar diferentes crit´

erios de teste estrutural

(3)

Introdu¸c˜

ao

Casos de teste podem ser criados com base em diferentes

abordagens:

Teste funcional (ex. particionamento de equivalˆ

encia)

Teste estrutural (ex. caminho b´asico)

(4)

Introdu¸c˜

ao

Teste funcional (parti¸c˜ao de equivalˆencia)

(5)

Introdu¸c˜

ao

Casos de teste podem ser criados com base em diferentes

abordagens:

Teste funcional (ex. particionamento de equivalˆencia)

Teste estrutural (ex. caminho b´

asico)

(6)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Introdu¸c˜

ao

Um desenvolvedor pode indagar se os casos de teste criados s˜ao

suficientes...

(7)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Introdu¸c˜

ao

Um desenvolvedor pode indagar se os casos de teste criados s˜ao

suficientes...

Se um conjunto de teste n˜ao exercita todos os trechos do

programa, pode-se dizer que novos casos de teste podem ser

criados

(8)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Introdu¸c˜

ao

O teste estrutural ´e uma t´ecnica de teste caixa-branca

Os casos de teste s˜ao gerados com base em algum crit´erio

relacionado com a estrutura do c´odigo

Somente ap´os a cria¸c˜ao do c´odigo ´e poss´ıvel determinar os casos

de teste

(9)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Introdu¸c˜

ao

Os crit´erios funcionais e estruturais s˜ao complementares

Crit´erios estruturais propoem a cria¸c˜ao de casos de teste

explorando o c´odigo fonte

´

util para identificar a completude dos casos de teste em rela¸c˜ao `a

estrutura do c´

odigo

Crit´erios funcionais propoem a cria¸c˜ao de casos de teste baseados

nas especifica¸c˜oes

´

(10)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle

Modelos s˜ao utilizados como

apoio para verificar se crit´erios

estruturais s˜ao satisfeitos

O Grafo de Fluxo de Controle

(GFC) ´e um modelo que

representa a estrutura interna

de um programa

Grafo de Fluxo de Controle (GFC)

(11)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle

Um GFC ´e formado por v´ertices (ou n´

os) e arestas:

v´ertices - representam blocos de c´

odigo, se a primeira instru¸c˜ao do

bloco ´e executada todas as outras tamb´em ser˜ao, n˜ao existem

desvios dentro dos blocos;

arestas - correspondem a tranferˆencia de controle na execu¸c˜ao de

um bloco para outro.

Um GFC pode ter um ´

unico n´

o de entrada (primeiro bloco

executado) e ’N’ n´

os de sa´ıda

Para exemplificar a cria¸c˜ao de um GFC ser´a utilizado o programa

”identificador”, apresentado em (Delamaro, 2007)

identificador ´e v´alido se inicia com uma letra e cont´em apenas

letras ou digitos;

(12)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle - Exemplo

1 main ( ) {

2 c h a r a c h a r ; 3 i n t l e n g t h = 0 4 i n t v a l i d i d = 1 ; 5 p r i n t f ( ” I d e n t i f i c a d o r ” ) ; 6 a c h a r = f g e t c ( s t d i n ) ; 7 v a l i d i d = v a l i d s ( a c h a r ) ; 8 i f ( v a l i d i d ) {

9 l e n g t h = 1 ;

10 }

11 a c h a r = f g e t c ( s t d i n ) ; 12 w h i l e( a c h a r != ’\n ’ ) {

13 i f ( ! ( v a l i d f ( a c h a r ) ) ) {

14 v a l i d i d = 0 ;

15 }

16 l e n g t h ++;

17 a c h a r = f g e c t c ( s t d i n ) ;

18 }

19 i f ( v a l i d i d && ( l e n g t h>= 1 ) && ( l e n g t h<6 ) ) {

20 p r i n t f ( ” V a l i d o \n” ) ; 21 } e l s e {

22 p r i n t f ( ” i n v a l i d o \n” ) ;

23 }

24 }

1 i n t v a l i d s (c h a r ch ) {

2 i f ( ( ( ch>=’A ’ ) && ( ch<=’ Z ’ ) )

| | ( ( ch>=’ a ’ ) && ( ch<=’ z ’ ) ) ) {

3 r e t u r n ( 1 ) ; 4 } e l s e {

5 r e t u r n ( 0 ) ;

6 }

7 }

1 i n t v a l i d f (c h a r ch ) {

2 i f ( ( ( ch>=’A ’ ) && ( ch<=’ Z ’ ) )

| | ( ( ch>=’ a ’ ) && ( ch<=’ z ’ ) ) | | ( ( ch>=’ 0 ’ ) && ( ch<=’ 9 ’ ) ) ) {

3 r e t u r n ( 1 ) ; 4 } e l s e {

5 r e t u r n ( 0 ) ;

6 }

7 }

(13)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle - Exemplo

1 /∗ 1 ∗/ main ( ) {

2 /∗ 1 ∗/ c h a r a c h a r ; 3 /∗ 1 ∗/ i n t l e n g t h = 0 4 /∗ 1 ∗/ i n t v a l i d i d = 1 ; 5 /∗ 1 ∗/ p r i n t f ( ” I d e n t i f i c a d o r ” ) ; 6 /∗ 1 ∗/ a c h a r = f g e t c ( s t d i n ) ; 7 /∗ 1 ∗/ v a l i d i d = v a l i d s ( a c h a r ) ; 8 /∗ 1 ∗/ i f ( v a l i d i d ) {

9 /∗ ? ∗/ l e n g t h = 1 ; 10 /∗ ? ∗/ }

11 /∗ ? ∗/ a c h a r = f g e t c ( s t d i n ) ; 12 /∗ ? ∗/ w h i l e( a c h a r != ’\n ’ ) {

13 /∗ ? ∗/ i f ( ! ( v a l i d f ( a c h a r ) ) ) {

14 /∗ ? ∗/ v a l i d i d = 0 ; 15 /∗ ? ∗/ }

16 /∗ ? ∗/ l e n g t h ++;

17 /∗ ? ∗/ a c h a r = f g e c t c ( s t d i n ) ; 18 /∗ ? ∗/ }

19 /∗ ? ∗/ i f ( v a l i d i d && ( l e n g t h>= 1 ) && ( l e n g t h<6 ) ) {

20 /∗ ? ∗/ p r i n t f ( ” V a l i d o \n” ) ; 21 /∗ ? ∗/ } e l s e {

22 /∗ ? ∗/ p r i n t f ( ” i n v a l i d o \n” ) ; 23 /∗ ? ∗/ }

(14)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle - Exemplo

1 /∗ 1 ∗/ main ( ) {

2 /∗ 1 ∗/ c h a r a c h a r ; 3 /∗ 1 ∗/ i n t l e n g t h = 0 4 /∗ 1 ∗/ i n t v a l i d i d = 1 ; 5 /∗ 1 ∗/ p r i n t f ( ” I d e n t i f i c a d o r ” ) ; 6 /∗ 1 ∗/ a c h a r = f g e t c ( s t d i n ) ; 7 /∗ 1 ∗/ v a l i d i d = v a l i d s ( a c h a r ) ; 8 /∗ 1 ∗/ i f ( v a l i d i d ) {

9 /∗ 2 ∗/ l e n g t h = 1 ; 10 /∗ 2 ∗/ }

11 /∗ 3 ∗/ a c h a r = f g e t c ( s t d i n ) ; 12 /∗ ? ∗/ w h i l e( a c h a r != ’\n ’ ) {

13 /∗ ? ∗/ i f ( ! ( v a l i d f ( a c h a r ) ) ) {

14 /∗ ? ∗/ v a l i d i d = 0 ; 15 /∗ ? ∗/ }

16 /∗ ? ∗/ l e n g t h ++;

17 /∗ ? ∗/ a c h a r = f g e c t c ( s t d i n ) ; 18 /∗ ? ∗/ }

19 /∗ ? ∗/ i f ( v a l i d i d && ( l e n g t h>= 1 ) && ( l e n g t h<6 ) ) {

20 /∗ ? ∗/ p r i n t f ( ” V a l i d o \n” ) ; 21 /∗ ? ∗/ } e l s e {

22 /∗ ? ∗/ p r i n t f ( ” i n v a l i d o \n” ) ; 23 /∗ ? ∗/ }

24 /∗ ? ∗/ }

(15)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle - Exemplo

1 /∗ 1 ∗/ main ( ) {

2 /∗ 1 ∗/ c h a r a c h a r ; 3 /∗ 1 ∗/ i n t l e n g t h = 0 4 /∗ 1 ∗/ i n t v a l i d i d = 1 ; 5 /∗ 1 ∗/ p r i n t f ( ” I d e n t i f i c a d o r ” ) ; 6 /∗ 1 ∗/ a c h a r = f g e t c ( s t d i n ) ; 7 /∗ 1 ∗/ v a l i d i d = v a l i d s ( a c h a r ) ; 8 /∗ 1 ∗/ i f ( v a l i d i d ) {

9 /∗ 2 ∗/ l e n g t h = 1 ; 10 /∗ 2 ∗/ }

11 /∗ 3 ∗/ a c h a r = f g e t c ( s t d i n ) ; 12 /∗ 4 ∗/ w h i l e( a c h a r != ’\n ’ ) {

13 /∗ 5 ∗/ i f ( ! ( v a l i d f ( a c h a r ) ) ) {

14 /∗ 6 ∗/ v a l i d i d = 0 ; 15 /∗ 6 ∗/ }

16 /∗ 7 ∗/ l e n g t h ++;

17 /∗ 7 ∗/ a c h a r = f g e c t c ( s t d i n ) ; 18 /∗ 7 ∗/ }

19 /∗ 8 ∗/ i f ( v a l i d i d && ( l e n g t h>= 1 ) && ( l e n g t h<6 ) ) {

20 /∗ 9 ∗/ p r i n t f ( ” V a l i d o \n” ) ; 21 /∗ 10 ∗/ } e l s e {

22 /∗ 10 ∗/ p r i n t f ( ” i n v a l i d o \n” ) ; 23 /∗ 10 ∗/ }

(16)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Grafo de Fluxo de Controle - Exemplo

1 /∗ 1 ∗/ main ( ) {

2 /∗ 1 ∗/ c h a r a c h a r ; 3 /∗ 1 ∗/ i n t l e n g t h = 0 4 /∗ 1 ∗/ i n t v a l i d i d = 1 ; 5 /∗ 1 ∗/ p r i n t f ( ” I d e n t i f i c a d o r ” ) ; 6 /∗ 1 ∗/ a c h a r = f g e t c ( s t d i n ) ; 7 /∗ 1 ∗/ v a l i d i d = v a l i d s ( a c h a r ) ; 8 /∗ 1 ∗/ i f ( v a l i d i d ) {

9 /∗ 2 ∗/ l e n g t h = 1 ; 10 /∗ 2 ∗/ }

11 /∗ 3 ∗/ a c h a r = f g e t c ( s t d i n ) ; 12 /∗ 4 ∗/ w h i l e( a c h a r != ’\n ’ ) {

13 /∗ 5 ∗/ i f ( ! ( v a l i d f ( a c h a r ) ) ) {

14 /∗ 6 ∗/ v a l i d i d = 0 ; 15 /∗ 6 ∗/ }

16 /∗ 7 ∗/ l e n g t h ++;

17 /∗ 7 ∗/ a c h a r = f g e c t c ( s t d i n ) ; 18 /∗ 7 ∗/ }

19 /∗ 8 ∗/ i f ( v a l i d i d && ( l e n g t h>= 1 ) && ( l e n g t h<6 ) ) {

20 /∗ 9 ∗/ p r i n t f ( ” V a l i d o \n” ) ; 21 /∗ 10 ∗/ } e l s e {

22 /∗ 10 ∗/ p r i n t f ( ” i n v a l i d o \n” ) ; 23 /∗ 10 ∗/ }

24 /∗ 11 ∗/ }

Grafo de Fluxo de Controle (GFC)

(17)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Crit´erios para teste estrutural

O teste estrutural ´e um teste baseado em parti¸c˜oes

Diferentes crit´erios de teste estrutural podem ser utilizados

Crit´erios estruturais podem ser divididos em 3 categorias:

crit´erios baseados na complexidade

crit´erios baseados no fluxo de controle

crit´erios baseados no fluxo de dados

(18)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho b´

asico

O teste de caminho b´asico (ou crit´erio de McCabe) descreve que

todos os caminhos b´asicos do GFC devem ser percorridos

Um caminho b´asico (ou linearmente independente) ´e aquele que

inclui um novo conjunto de instru¸c˜oes ou uma nova condi¸c˜ao

Se todos os caminhos b´asicos de um programa forem percorridos,

ent˜ao todas as instru¸c˜oes ter˜ao sido exercitadas e todas as

condi¸c˜oes ter˜ao sido avaliadas com verdadeiro e falso

O conceito de complexidade ciclom´atica (CC) do GFC ´e usado

para determinar a quantidade de caminhos b´asicos existente em

um GFC

(19)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho b´

asico - Complexidade ciclom´

atica

A CC ´e obtida a partir da representa¸c˜ao do fluxo de controle de

um programa

Atrav´es da CC determina-se o n´

umero de caminhos linearmente

independentes existentes no GFC

Com a CC obtˆem-se o limite m´aximo de casos de teste

necess´arios para exercitar todos os caminhos b´asicos

Complexidade ciclom´

atica

1

corresponde ao n

o

de regi˜

oes do GFC, onde uma regi˜

ao ´

e uma ´

area inclu´ıda no

plano do GFC (internas + externa);

2

V(G) = E - N + 2

, onde

E

´

e o N

o

de arestas e

N

´

e o N

o

de n´

os;

(20)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho b´

asico - Complexidade ciclom´

atica - Exemplo

Grafo de Fluxo de Controle (GFC)

Complexidade ciclom´

atica

1

V(G) = 5 regi˜

oes

2

V(G) = 14 - 11 + 2 = 5

3

V(G) = 4 + 1 = 5

(21)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho b´

asico - Complexidade ciclom´

atica - Exemplo

Grafo de Fluxo de Controle (GFC)

Complexidade ciclom´

atica

1

V(G) = 5 regi˜

oes

2

V(G) = 14 - 11 + 2 = 5

3

V(G) = 4 + 1 = 5

Caminho

Execut´

avel

(1, 2, 3, 4, 8, 9, 11)

Sim

(1, 2, 3, 4, 8, 10, 11)

ao

(1, 2, 3, 4, 5, 7, 4, ...)

Sim

(1, 2, 3, 4, 5, 6, 7, 4, ...)

Sim

(22)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de comando

O crit´erio de teste de comando descreve que todos os comandos

do programa devem ser executados

Todos os n´

os do GFC ter˜ao sido visitados ao menos uma vez

Teste de comando

C

comando

=

n

ode comandos executados

node comandos do programa

Se C

comando

= 1, o crit´

erio foi satisfeito

(23)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de comando - Exemplo

Elementos que devem ser testados segundo o crit´

erio ”Todos os comandos”

Tipo

Elemento

os

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

Casos de teste necess´

arios para satisfazer o crit´

erio ”Todos os comandos”

Caminho

Comandos adicionados como executados

(1, 2, 3, 4, 8, 10, 11)

1, 2, 3, 4, 8, 10, 11

(24)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de decis˜

ao

O crit´erio de teste de decis˜ao do descreve que todas as decis˜

oes

do programa devem ser executadas

Todas as arestas do GFC ter˜ao sido visitadas ao menos uma vez

Teste de decis˜

ao

C

decisao

=

n

ode decisoes executadas

node decisoes do programa

Se C

decisao

= 1, o crit´

erio foi satisfeito

(25)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de decis˜

ao

A cobertura de todos os comandos n˜ao garente a cobertura de

todas as decis˜

oes

Visitar todos os n´

os n˜ao significa que todas as arestas tenham

sido visitadas

Exerc´ıcio

(26)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de decis˜

ao

A cobertura de todos os comandos n˜ao garente a cobertura de

todas as decis˜

oes

Visitar todos os n´

os n˜ao significa que todas as arestas tenham

sido visitadas

Exerc´ıcio

Encontre um caminho no GFC em que todos os comandos sejam executados, mas

nem todas as decis˜

oes tenham sido executadas

Resposta:

Caminho

Ex. de aresta n˜

ao visitada

(1, 3, 4, 8, 10, 11)

(1 - 3)

(1, 2, 3, 4, 5, 6, 7, 4, 8, 9, 11)

(5 - 7)

(27)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de decis˜

ao - Exemplo

Elementos que devem ser testados segundo o crit´

erio ”Todas as decis˜

oes”

Tipo

Elemento

Aresta

(1,2); (1,3); (5,6); (5,7); (8,9) e (8,10)

Casos de teste necess´

arios para satisfazer o crit´

erio ”Todas as decis˜

oes”

Caminho

Arestas executadas

(28)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de decis˜

ao

A cobertura de todas as decis˜

oes garante a cobertura de todos os

comandos

Visitar todas as arestas significa que todas os n´

os tenham sido

visitados

(29)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de condi¸c˜

ao

A avalia¸c˜ao de uma decis˜ao pode n˜ao executar todas as

condi¸c˜oes relacionadas

Exemplo:

1 // Se c o n d i c a A f o r v e r d a d e i r a a c o n d i c a o B pode t e r q u a l q u e r v a l o r l ´o g i c o . . .

2 // mas a d e c i s ˜a o s e r ´a a v a l i a d a como v e r d a d e i r a

3 i f ( c o n d i c a o A | | c o n d i c a o B )

Exemplo:

1 // Se c o n d i c a o A f o r f a l s a a c o n d i c a o B pode t e r q u a l q u e r v a l o r l ´o g i c o . . .

2 // mas a d e c i s ˜a o s e r ´a a v a l i a d a como f a l s a

(30)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de condi¸c˜

ao

O crit´erio de teste de condi¸c˜ao do descreve que todas as

condi¸c˜oes do programa devem ser executadas

Teste de comando

C

condicao

=

n

ode valores verdade para todas as condicoes 2×node condicoes do programa

Se C

condicao

= 1, o crit´

erio foi satisfeito

(31)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de condi¸c˜

ao

Diferentes formas de aplica¸c˜ao do crit´erio podem ser adotadas,

duas destas s˜ao:

teste de condi¸c˜ao b´asica

teste de condi¸c˜ao modificada e cobertura de decis˜ao (

Modified

(32)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de condi¸c˜

ao

O teste de condi¸c˜ao b´asica requer que cada condi¸c˜ao seja

avaliada uma vez com cada valor verdade

Express˜

ao

(A

||

B) && C

Caso de teste

A

B

C

Avalia¸c˜

ao

(1)

True

True

True

True

(2)

False

False

False

False

Casos de teste necess´arios para satisfazer o teste de condi¸c˜ao b´asica

(33)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho

O crit´erio de teste de caminho do descreve que todos os

caminhos poss´ıveis do programa devem ser executados

Teste de caminho

C

caminho

=

n

ode caminhos executados

node caminhos do programa

(34)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Teste de caminho

umeros de caminhos de programas com la¸cos n˜ao ´e limitado

(pode ser muito grande ou indeterminado)

O crit´erio de teste de caminho pode n˜ao ser satisfeito

S˜ao criadas partici¸c˜oes de modo que apenas classes

representativas sejam testadas

ex. apenas a primeira itera¸c˜ao de um la¸co ´e exercitada

(35)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Problemas

A satisfa¸c˜ao dos crit´erios estruturais pode ser n˜ao ocorrer devido

a dois problemas:

Ciclos (repeti¸c˜

oes)

(36)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Problemas - Ciclos (repeti¸c˜

oes)

Se um grafo possui ciclos, existe uma infinidade de caminhos

poss´ıveis

cada itera¸c˜ao corresponde a um novo caminho poss´ıvel

pode existir uma quantidade muito grande de caminhos ou uma

quantidade infinita

Limitar a quantidade de itera¸c˜oes faz com que o crit´erio de

caminho possa ser satisfeito

A representa¸c˜ao do programa no GFC correponde ent˜ao a uma

´arvore

(37)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Problemas - Caminhos n˜

ao alcan¸caveis

Em muitos casos n˜ao ´e poss´ıvel especificar um conjunto de teste

que seja capaz de exercitar um elemento (comando, decis˜ao,

condi¸c˜ao ou caminho)

Exemplo:

1 . . .

2 /∗ 1 ∗/ i f ( a< 0 ) {

3 /∗ 2 ∗/ a = 0 ; 4 /∗ 2 ∗/ }

5 /∗ 3 ∗/ i f ( a> 1 0 ) {

6 /∗ 4 ∗/ a = 1 0 ; 7 /∗ 4 ∗/ }

8 /∗ 5 ∗/ . . . 9 . . .

(38)

Verifica¸c˜

ao e Valida¸c˜

ao: Testes estruturais

Problemas - Caminhos n˜

ao alcan¸caveis

Em muitos casos n˜ao ´e poss´ıvel especificar um conjunto de teste

que seja capaz de exercitar um elemento (comando, decis˜ao,

condi¸c˜ao ou caminho)

Exemplo:

1 . . .

2 /∗ 1 ∗/ i f ( a< 0 ) {

3 /∗ 2 ∗/ a = 0 ; 4 /∗ 2 ∗/ }

5 /∗ 3 ∗/ i f ( a> 1 0 ) {

6 /∗ 4 ∗/ a = 1 0 ; 7 /∗ 4 ∗/ }

8 /∗ 5 ∗/

9 . . .

GFC com caminho n˜ao alcan¸cavel

(39)

Exerc´ıcio

1

Escolha um crit´

erio de teste estrutural e descreva casos de teste que satisfa¸cam o

crit´

erio no programa de classifica¸c˜

ao de IMC apresentado em aulas anteriores

(40)

Resumo

Teste estrutural ´

e uma abordagem de teste caixa-branca

Casos de teste s˜

ao criados explorando a estrutura do c´

odigo

Alguns dos crit´

erios estruturais existentes s˜

ao:

Todos os comandos (ou Todos os n´

os)

Todas as deci¸c˜

oes (ou Todas as arestas)

Todas as condi¸c˜

oes

Todos os caminhos

Podem existir problemas para satisfa¸c˜

ao de crit´

erios estruturais:

Ciclos (repeti¸c˜

oes)

Caminhos inalcan¸c´aveis

(41)

Ian Sommerville.

Engenharia de Software

8

a

ed., 2007.

Cap´ıtulo 22 - Verifica¸c˜ao e valida¸c˜ao

Cap´ıtulo 23 - Teste de software

D. Barnes & M. Kooling

Objects First with Java: A Practical Introduction using BlueJ

5

a

ed. (2012), Prentice Hall/Pearson.

(42)

M. E. Delamaro, J. C. Maldonado & M. Jino

Introdu¸c˜ao ao Teste de Software

, 1

a

ed. (2007), Editora Campus.

Cap´ıtulo 4 - Teste estrutural

PEZZE, M. & YOUNG, M.

Teste e an´alise de software, 1

a

edi¸c˜ao (2008), Artmed

Cap´ıtulo 12 - Teste estrutural

(43)

Perguntas?

Referências

Documentos relacionados

115 você usou o verbo no plural e na negativa, pois você sabe que eles estão localizados na Cinelândia e não em

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,

No Amapá as comunidades tradicionais conquistaram a força política para a criação pelo governo estadual do Programa de Desenvolvimento Sustentável do Amapá (PDSA), um programa

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

Traçar um perfil do conteúdo veiculado nas manhãs brasileiras identificando categorias e gêneros utilizados por estes cinco importantes canais e suas afiliadas locais, é

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

No dia 29 de maio (quinta-feira), às 21 horas, a ACBJ realiza o Concerto Comemorativo do Centenário da Imigração Japonesa no Brasil, com a Orquestra Aliança Cultural

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