summaryrefslogtreecommitdiff
path: root/08_testing/README
blob: 90b00089827934da4d1e471529745dded0fa8b4e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
In this assignment, you will be black-box testing a few 
broken implementations of "isPrime".  You will see
that there are four broken implementations of isPrime:

isPrime-broken1
isPrime-broken2
isPrime-broken3
isPrime-broken4

as well as a correct implementation:

isPrime-correct

All of these take one command line argument, which is the *integer*
to test for primality.  For example, you might run

$ ./isPrime-correct  3
3 is prime
$ ./isPrime-correct 4
4 is not prime

Your job is to find a test case for each broken implementation which
shows that it is not correct---that is, where its behavior differs
from that of isPrime-correct. Note that we do not expect you to brute
force this task. Think about what types of common errors could occur.

For each broken program, write the input which breaks the program
into a file called "input.X" where X is 1, 2, 3, or 4 (so input.1 has
the command line argument that shows that isPrime-broken1 is broken).

Note that isPrime-correct's behavior is considered correct, and
any test case which deviates from it is considered wrong.