Non-interactive programs can be tested using a blackbox approach. Some data is fed into the program, and a certain output is expected. Interactive programs are more difficult to test. In this case, a test program (e.g., expect), that uses a dialog language for the input and output behavior can be applied. Besides testing functionality, it might be interesting to test whether a certain version of a module adds greater functionality compared to a previous version. This can be analyzed using a regression test. A test for increased functionality needs to fail on an old version (if not, it would not test the new parts) but needs to succeed for the new version. Prof. Goetze's 1995 Programming II class used the aegis system for management of student work [Goe96]. Teachers were reviewers, and students worked in small project teams. Students had difficulties using the system because the idea of writing test functions was totally new to them.