Teste Estrutural: Caminho Básico Wolley W. Silva
Teste de Caixa Branca Utiliza as estruturas lógicas do código para derivar os casos de teste com a finalidade de: a)garantir que todos os caminhos independentes de um módulo (algoritmo) foram exercitados pelo menos uma vez; b)exercitar todas as decisões lógicas nos seus estados verdadeiro e falso; c)executar todos os ciclos em seus limites e dentro de suas fronteiras operacionais; d)exercitar estruturas de dados internas para assegurar a sua validade.
Teste dos caminho básico Permite derivar uma medida de complexidade lógica de um algoritmo e usar essa medida como guia para definir um conjunto base de caminhos de execução. A notação que representa o fluxo de controle é chamada de grafo de fluxo (ou grafo de programa).
Teste dos caminho básico Método Sacar Notação grafo de fluxo Nó predicado
Notação Teste dos caminho básico Representação base para o grafo de fluxo (PRESSMAN, 2011)
Complexidade ciclomática – É uma métrica de software que fornece uma medida quantitativa da complexidade lógica de um programa. – Quando usada no contexto de teste de caminho básico, o valor computado define o número limite superior para a quantidade de teste que devem ser realizados para garantir que todos os comandos tenham sido executados pelo menos uma vez. Teste dos caminho básico
A complexidade é calculada por uma de três maneiras: 1.O número de regiões do grafo de fluxo, incluindo a externa, corresponde à complexidade ciclomática; Teste dos caminho básico Nó predicado V(G) = 3
2.A complexidade ciclomática V(G) para um grafo G é definida como V(G) = E -N +2 – em que E é o número de arestas do grafo de fluxo e N é o número de nós do grafo de fluxo. Teste dos caminho básico Nó predicado V(G) = 6 – V(G) = 3
3. A complexidade ciclomática V(G) para um grafo G também é definida como V(G) = P + 1 – em quem P é o número de nós predicados contidos no grafo de fluxo G. Teste dos caminho básico Nó predicado V(G) = V(G) = 3
Teste dos caminho básico Caminho independente – Um caminho independente é qualquer caminho através do programa que introduz pelo menos um novo conjunto de comandos de processamento ou uma nova condição. – Quando definido em termos de um grafo de fluxo, um caminho independente deve incluir pelo menos uma aresta que não tenha sido atravessada antes de o caminho ser definido.
Teste dos caminho básico Caminho independente Nó predicado Caminho 1: 1, 2, 5 Caminho 2: 1, 3, 5 Caminho 3: 1, 3, 4, 5
Teste dos caminho básico Caminho independente – Quando projetamos casos de teste a partir dos caminhos identificados forçamos a execução de cada comando do programa pelo menos uma vez e cada condição terá sedo executada em seus lados verdadeiro e falso.
Teste dos caminho básico Derivação dos casos de Teste a)A partir do algoritmo de um método desenhe o grafo de fluxo correspondente b)Determine a complexidade ciclomática do diagrama de fluxo c)Determine o conjunto de caminhos (lógicos) independentes d)Prepare casos de teste que vão forçar a execução de cada caminho lógico
Teste dos caminho básico Derivação dos casos de Teste Caminho 1: 1, 2, 5 T1: saque com saldo Saldo = 100 Valor Saque = 99, 100, 101(valor limite) Caminho 2: 1, 3, 5 T2: saque sem saldo e sem limite Saldo= 100 Crédito=100; Valor Saque = 101; Caminho 3: 1, 3, 4, 5 T2: saque sem saldo e com limite Saldo = 100 Crédito = 110 Valor Saque = 109, 110, 111(valor limite)
Métodos de Teste Teste dos caminho básico
Exercício Desenhe o grafo de fluxo; Defina a complexidade ciclomática Defina os caminhos independentes Elabore casos de teste para exercitar os caminhos lógicos Implemente os casos de teste com JUnit