Considere o seguinte método que realiza a procura binária de um dado valor num vector de inteiros:
boolean lookup(int vector[], int key, int n) { int medium; int low = 0; int high = n; while (low <= high) { medium = (low + high)/2; if (vector[medium] == key) { // value found return medium; } else { if (vector[medium] < key) low := medium + 1; else high := medium - 1; } } return -1; }
- Desenho o grafo de controlo de fluxo do método lookup.
- Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de instrução.
- Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de ramo.
- Identifique o conjunto mínimo de caminhos que atinge 100% de cobertura de caminho.
- Especifique os casos de teste necessários para exercitar o ciclo de forma completa (full mode).