O trabalho de testes, de acordo com Pressman e Maxim (2016, p. 676), pode ser baseado com base nas métricas de Halstead, podendo ser obtidas as métricas:
PL = 1/ Dou 1 / [(n1/2) x (N2/n2)]
e = V / PL ou (N1 + N2) x log2 (n1 + n2)/PL
A porcentagem de trabalho de teste global a ser dispensado a um determinado módulo k pode ser estimada com base na seguinte equação, na qual o denominador é a soma do trabalho de Halstead por todos os módulos do sistema:
Porcentagem de trabalho de teste (k) = e (k) / Ʃ e(i)
Complexidade Ciclomática
A complexidade ciclomática mede a complexidade de um determinado módulo (classe, método, função etc), com base na contagem do número de caminhos independentes que ele pode executar até o seu fim. Um caminho independente é o que apresenta pelo menos um desvio de fluxo ou um novo conjunto de comandos a serem executados.
Essa métrica parte do princípio de que, medindo a complexidade do programa, é possível saber quantos caminhos lógicos devem ser testados. Pode ser representada por um grafo de fluxo de controle, no qual os nós representam uma ou mais instruções sequenciais e os arcos orientados indicam o sentido do fluxo de controle entre as instruções. Sendo e (edges) o número de arestas e n (nodes) o número de nós, a complexidade ciclomática v(G) de um grafo pode ser calculada através da fórmula:
v(G) = e - n + 2
Um exemplo de um trecho de programa (procedimento) em pseudocódigo e seu correspondente grafo de fluxo é mostrado na figura.
Um trecho de programa e seu grafo de fluxo
No grafo da figura acima há 17 arestas e 13 nós. O cálculo da complexidade ciclomática é:
v(G) = e - n + 2 = 17 – 13 + 2 = 6
Mas há outra forma de fazer o cálculo da complexidade ciclomática, que implica o mesmo resultado. Considerando que R seja o número de regiões do grafo de fluxo:
v(G) = R
Observe a figura a seguir. O grafo de fluxo da figura foi demarcado com as regiões. Como são 6 regiões, v(G) continua sendo 6, como no cálculo anterior.
Grafo de fluxo com regiões do trecho de programa da figura 12
Nenhum comentário:
Postar um comentário