so-un-bot/Data/Questions/ingsw/0000_3/quest.txt

45 lines
No EOL
1.1 KiB
Text

Il partition coverage di un insieme di test cases è la percentuale di elementi della partition inclusi nei test cases. La partition è una partizione finita dell'insieme di input della funzione che si sta testando.
Si consideri il seguente programma C:
-----------
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#define N 5 /* number of test cases */
int f1(int x) { return (2*x); }
int main() { int i, y; int x[N];
// define test cases
x[0] = 0; x[1] = 1; x[2] = -1; x[3] = 10; x[4] = -10;
// testing
for (i = 0; i < N; i++) {
y = f1(x[i]); // function under testing
assert(y == 2*x[i]); // oracle
}
printf("All %d test cases passed\n", N);
return (0);
}
Si vuole testare la funzione f1(). A tal fine l'insieme degli interi viene partizionato come segue:
{0, {-1}, {1}, {tutti glli interi negativi diversi da -1}, {tutti glli interi positivi diversi da 1}}
Il programma main() sopra realizza il nostro testing per la funzione f1(). I test cases sono i valori in x[i].
Quale delle seguenti è la partition coverage conseguita?