Un test oracle per un programma P è una funzione booleana che ha come inputs gli inputs  ed outputs  di P e ritorna true se e solo se il valore di output di P (con i dati inputs) è quello atteso dalle specifiche.

Si consideri la seguente funzione C:

-----------
<pre>
int f(int x, int y)  {   

int z, k;

z = 1;   k = 0;

while (k < x)  { z = y*z;  k = k + 1; }

return (z);

}
</pre>
Siano x, y, gli inputs del programma (f nel nostro caso) e z l'output. Assumendo il programma corretto, quale delle seguenti funzioni booleane F(x, y, z) è un test oracle per la funzione f.