A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural.

Apresentações semelhantes


Apresentação em tema: "Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural."— Transcrição da apresentação:

1 Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural

2

3 Teste Simbólico valores simbólicos são atribuídos às variáveis de entrada do programa processador simbólico interpreta as instruções do programa resultados: valores de variáveis são fórmulas simbólicas predicado do caminho: conjunção das condições do caminho executado

4 Execução Simbólica A, B - vars de entrada S - var de saída

5 Teste Simbólico promove o entendimento do programa
regra de formação dos valores das variáveis ex: procedure Potência para y = -3, x = 1/(1*x*x*x) determinar o intervalo de valores das variáveis de entrada que fazem o programa executar determinado caminho para o caminho y > 0 para o caminho y <= 0

6 procedure potencia(x,y:integer; var z:real); var p: integer; begin
p=-y 1 2 3 4 5 6 7 8 9 11 12 13 10 p:=0 z:=0 (x,y) y>0 y<=0 p=y z:=1 p<>0 p:=p-1 z:=z*x y<0 y>=0 p=0 z:=1/z procedure potencia(x,y:integer; var z:real); var p: integer; begin p:=0; z:=0; if y>0 then p:=y else p:=-y; z:=1; while p<>0 do begin p:=p-1; z:=z*x; end; if y<0 then z:=1/z; end;

7 Predicado de Caminho sistema de inequações a < b & 2 a <= 0
quando resolvido determina intervalo de dados que leva à execução do caminho problemas: sistema de equações não lineares

8 Processadores Envolvidos na Execução Simbólica
Interpretador Simbólico Simplificador de Expressões ex: y > 0 & & y = 0 & Solucionador de Sistemas de Equações Provador de Teoremas se x<=y & x=y então x=y se x<0 & x>0 então “caminho impraticável” 7 p=0 p<>0 8 p:=p-1 z:=z*x 9 y<0

9 Teste Simbólico dirigido por Caminho
atribuir valores simbólicos para variáveis de entrada; especificar caminho a ser executado; interpretar simbólicamente as instruções do programa; resolver o predicado (sistema de inequações); escolher dados dentro do intervalo resultante; executar o programa com os dados reais; comparar resultados computados com resultados esperados.

10 Caminho: 1-2-3-5-6-7-8-7-9-10-11-12-13
(x,y) 1 Caminho: PC : y<=0 & -y<>0 & -y-1=0 & y<0 Resolvendo o predicado: y = -1 Execução real: x= 3 y=-1 esperado z=1/3 p:=0 z:=0 2 y>0 3 y<=0 p=-y 4 5 p=y 6 z:=1 7 p=0 p<>0 8 9 p:=p-1 z:=z*x y<0 10 y>=0 11 z:=1/z 12 13

11 Teste Estrutural + Simbólico
procedimentos envolvidos análise estática do programa grafo de fluxo + tabela def-uso seleção de caminhos (critério de cobertura) execução do programa com dados (método funcional) análise de cobertura caso existam caminhos não cobertos interpretação simbólica => predicados de caminho identificação de caminhos impraticáveis resolução de predicados, determinação de dados comparação de resultados e de caminhos

12 procedure potencia(x,y:integer; var z:real); var p: integer; begin
p=-y 1 2 3 4 5 6 7 8 9 11 12 13 10 p:=0 z:=0 (x,y) y>0 y<=0 p=y z:=1 p°0 p:=p-1 z:=z*x y<0 y>=0 p=0 z:=1/z procedure potencia(x,y:integer; var z:real); var p: integer; begin Tabela Def -Uso 1 2 3 - 4 def uso x y p z y 3 - 5 4 5 6 7 - 8 7 - 9 8 10-11 10-12 11 p z p z x p:=0; z:=0; if y>0 then p:=y else p:=-y; z:=1; while p<>0 do begin p:=p-1; z:=z*x; end; if y<0 then z:=1/z; end;

13 Subcaminhos que satisfazem o critério todos-usos
p=-y 1 2 3 4 5 6 7 8 9 11 12 13 10 p:=0 z:=0 (x,y) y>0 y<=0 p=y z:=1 p<>0 p:=p-1 z:=z*x y<0 y>=0 p=0 z:=1/z * * * * * caminhos impraticáveis

14 Subcaminhos impraticáveis
p=-y 1 2 3 4 5 6 7 8 9 11 12 13 10 p:=0 z:=0 (x,y) y>0 y<=0 p=y z:=1 p<>0 p:=p-1 z:=z*x y<0 y>=0 p=0 z:=1/z Subcaminhos impraticáveis * pc: y>0 & y=0 & y<0 * pc: y>0 & y=0 & y>0 * pc: y>0 & y=0 * pc: y=0 & y<0

15 Execução Simbólica de Caminho
(x,y) 1 2 y>0 3 y<=0 Caminho: (1,2,3,5,6,7,8,7,9,10,11,12,13) (1,2,3,5) (y <= 0) (1,2,3,5,6,7,8) (y <= 0) & (- y <> 0) (1,2,3,5,6,7,8,7,8) (y <= 0) & (- y <> 0) & (- y - 1<> 0) (1,2,3,5,6,7,8,7,9, 10,11,12,13) (y <= 0) & (- y<> 0) & (- y - 1 = 0) & ( y < 0) 4 5 p=-y 6 7 p=0 p<>0 8 9 p:=p-1 z:=z*x 10 y<0 z:=1/z y>=0 11 12 13

16 Execução Simbólica problemas:
predicados longos tem que ser simplificados sistemas de equações não lineares predicados de caminhos impraticáveis variáveis indexadas e dinâmicas processadores não triviais interpretador simbólico simplificador solucionador de sistemas, provador de teoremas


Carregar ppt "Teste Simbólico Execução do programa com dados simbólicos ao invés de dados reais Técnica de poio à seleção de dados para o teste estrutural."

Apresentações semelhantes


Anúncios Google