Teste de fluxo de dados

O teste de fluxo de dados (do inglês data flow testing), é um teste de caixa-branca usado para verificação de softwares que visa exercitar caminhos do programa (executar sequências de linhas de código) com base nas definições e usos de cada variável.[1].

Definição e uso

editar

Para realizar este teste, atribui-se um valor inteiro único para cada linha de código (normalmente, enumera-se cada linha com valores inteiros consecutivos, atribuindo o valor 1 para a primeira linha, 2 para a segunda e assim sucessivamente) e definem-se, para cada variável de interesse  , os conjuntos

D( ) = { k : a linha k faz uma definição de  }

e

U( ) = { k : a linha k usa a variável  }.


Execução do teste

editar

A execução do teste se dá com base nos caminhos do grafo de fluxo do programa e nos conjuntos D( ) e U( ).

Teste def-use

editar

Um teste de fluxo de dados simples é o teste def-use: neste teste são escolhidos valores de entrada para o programa que exercitem todos os caminhos DU da variável testada. Os caminhos DU são caminhos em que passam por alguma linha na qual a variável é definida e por alguma linha em que a variável é usada.

De uma forma mais rigorosa, tenta-se executar todos os caminhos  , onde cada   é um comando, que tenham dos comandos   e   tais que   D( ) X U( ).

Um pequeno refinamento neste teste elimina os caminhos em que a variável é redefinida antes de ser usada. Por exemplo, digamos que o primeiro comando, chamado de  , defina a variável   e o vigésimo comando,  , use a variável  , mas um comando intermediário,   também defina  , então, não é necessário exercitar um caminho para o par  . Ao invés disso, executa-se apenas um teste para o caminho  .

Caminhos que não contenham redefinições como no exemplo anterior, são chamados de caminhos vivos.


Referências

  1. Pressman, Roger S. (2001). Software Engineering: A practitioner's approach. [S.l.]: McGraw-Hill. ISBN 0073655783 


Ver também

editar