Teste de fluxo de dados

Fonte: testwiki
Revisão em 00h04min de 23 de fevereiro de 2020 por imported>Tuga1143 (Substituição de predefinições obsoletas)
(dif) ← Revisão anterior | Revisão atual (dif) | Revisão seguinte → (dif)
Saltar para a navegação Saltar para a pesquisa

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

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 x, os conjuntos

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

e

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


Execução do teste

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

Teste def-use

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 c1c2...cM, onde cada ck é um comando, que tenham dos comandos ci e cj tais que (ci,cj) D(x) X U(x).

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 c1, defina a variável x e o vigésimo comando, c20, use a variável x, mas um comando intermediário, c10 também defina x, então, não é necessário exercitar um caminho para o par (c1,c20). Ao invés disso, executa-se apenas um teste para o caminho (c10,c20).

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


Predefinição:Referências


Ver também

Predefinição:Teste de software