( Latest Revision: Mon Apr 1 19:38 PDT 2013 )
Advice on Testing of the Program You need to test "average" kinds of inputs, typical data values. Also you need to test on, and near, data boundary values. This particular program is supposed to draw a stack of between 1 and 4 roses. So 1 and 4 are the boundary data values. When programs have errors, they frequently make something go wrong at, or near, one or more boundary data values. Therefore you should test values on, and near, both boundaries, to see if you can detect any errors that way. For the lower boundary, you'd test 0, 1, and 2. They are points just below, on, and just above that boundary. For the upper boundary, you'd test 3, 4, and 5. Since that covers ALL the "good" inputs, you don't need to figure out any additional "average good" input values to test. However, this program is supposed to handle "bad" inputs as well as "good" inputs. (Let's assume all inputs are integers.) Therefore you should test "average bad" values - ones that are pretty far out of bounds. So test a value that is quite a bit less than 1, and test a value quite a lot greater than 4.