Black box testing is usually (not always) carried out by a group of programmers/users who are not familiar with the system and thus do not know its inner workings. Test data used is from the users perspective. For example, test data will not necessarily test every path of execution (it should do so if the BB testing period is long enough) but instead will be the most common input from a general user. With Black Box testing, the expected outputs are known and so it can be determined if an error is occuring. For example, although i might not know the workings of my computer, i know that if i move my mouse upward, the cursor should also move upward. If expected results do not match the ones returned, an error is occuring. Text books often indicate that black box testing is carried out before white box testing and white box testing is used to correct the error however this is not necessarily true.
White box testing involves having an intimate knowledge of the system - ie, by studying system models and algorithms, a set of test data is created. This test data may not be common input from the user but it will satisfy the following:
*test all paths of execution (e.g. each option in a case statement)
*test boundaries (e.g. for operators like <=)
*ensure each subroutine is executed (and the above tested)
Error correcting techniques can then be used. Some would classify this as part of the white box testing process. The values of variables are often followed through each process, either by hand (desk check) or on the computer. Error trapping techniques such as breakpoints and single-line stepping can also be used to isolate the error.
By the sounds of it, what they want you to do in your assignment is to:
*compile a list of test data
this depends whether there is a section on white box testing in your assignment. although theoretically this data would have a random nature to it, id be more inclined to think that your teacher wants you to compile a list of white box test data (ie boundaries, etc.)
*table showing thorough testing of all features
this part is a bit shady - id clarify it with your techer if possible. it is probably asking you to perform some sort of desk check, hence the part " a genuine attempt to compare expected with test outputs"