Here's how I tested the upload site. I am using ad-hoc testing techniques, which are not ideal, but better than nothing. I'm not using any coverage criteria at all. What class of test cases have I completely failed to test?
On Friday night, I came home at 9:30 after working out and received several emails about failed submissions. One of the students helpfully mailed the file that caused the error. I first changed my script to display error messages when appropriate; it tells me that the test case is too large. I then checked my PHP configuration, which looked fine. My Apache configuration was also fine. Odd. I downloaded a script from the Internet which tests file uploading, and it accepts the files in question perfectly happily. Turns out that the error was some HTML in the upload form which set a max upload size of 1M.
Moral: cutting and pasting code can cause problems!
Note that many of the coverage criteria we've discussed in class would not detect such an error. Only testing small inputs would never find such an error.