Security concerns have, for the sake of making this a manageable project, been mitigated by simplifying the overall design or by elimination altogether. Two areas of the Test Tool involve some minimal security and privacy features: student anonymity and user authentication.
Student anonymity must be preserved in the Grading phase. This is preserved by the following:
User authentication is implemented by the Test Tool by examining the system login information given by the user. The Group ID is used to distinguish a user as a student or as an instructor. Proctor and Test Generation options are inaccessible to students. Also the username is used to verify that students are allowed to take a test.
The Test Tool is generally geared toward simplicity of use, the goal being to improve the quality and ease of the testing experience for students and professors. Minimal complexity is introduced in providing all the features that instructors, students and graders might need.
Instructors have the largest array of features available to them. Generally, however, an instructor will not have to access all of them in a given test. The most advanced features available are for code analysis and test generation.
Testing is intended to be as painless as possible for students. A student can scroll through a test inputting answers one at a time and then click a button to submit the test when done if they want. Advanced users, however, can make use of the expanded Test Progress palette, multiple question windows and code question features like savable revisions, and IDE usage.
Grading is very simple and requires little interaction with the system. Most grading is performed automatically by the tool. Free response and coding questions require that the grader analyze the reponses but in these cases they are helped by features like keyword highlighting and automatically generated output comparison.