2.3 Creating a Test

This scenario shows an individual user creating three tests using the three different option-levels for test creation. In order for the Test Generation tool to work effectively, there must be an existing database of questions with a range of questions pertaining to keywords that may be entered by a professor. Questions are added to the question bank using the question bank manager (See section 2.2). The question database used in this example can be found in appendix A.

2.3.1 Basic Test Generation Window

When a user decides to create a new test using the Test Generator, the system initially presents the user with the Test Generation screen with the Basics tab selected (see figure 1).

Figure 1: Basic Window Layout

The Test Generation screen has three main parts to it:

Each of the three tabs asks the user for different information about the test he/she wishes to generate. The information requested in the Basic tab (explained in section 2.3.2) is required for a test to be generated, with the exception of keywords. See section 2.3.6 for information handling insufficient data.

If more information is provided under the Difficulty or Question Types tabs (detailed in section 2.3.3 and 2.3.4), the Test Generator selects more specific questions from the questions database.

Once the Generate button is clicked, questions are selected and then displayed in the Test Editor Window (detailed in section 2.4).

2.3.2 Basics Tab

The Basics Tab contains the essential information required to create a test. This includes a name for the test, how long the test should take, the class to draw the questions from and the keywords for the test.

Figure 2: Basics Tab

The user starts by selecting a class from the Class drop down menu. When the Test Generator window launches, it searches the question database for all class entries on questions. Classes are displayed in the drop down menu in alphabetical order (with duplicates removed). Figure 3 shows an example list of classes.

Figure 3: Classes Drop down menu.

The number of questions that the Test Generator selects from the question database is limited by the time length supplied by the user. The user enters in a minimum time for the test into the first text field and the maximum time into the second. Each time value is in minutes. The combined time for all the questions selected by Test Tool falls between these two values.

Keyword supplied in the keyword text field are used to select questions from the class-pool. By default, questions are selected by matches of single keywords or phrases. A questions with one or more matches is considered a candidate for inclusion in the generated test.

Once the user has entered in all the information, the Basics tab appears as shown in Figure 4.

Figure 4: Basics Tab

The user clicks Generate to get a basic test and Test Generator searches through the question database and selects the following questions shown in tabular form which are outputted in the Edit Test window (see section 2.4).

Figure 5: Basic Generated Test
Class Keywords Question Type Time Difficulty Last Used Owner
CSC 101 API Matching 2 minutes 6 N/A jdoe
CSC 101 array, loop Matching 2 minutes 2 10/30/04 3:19pm jdoe
CSC 101 AWT, Swing Short Answer 2 minutes 7 N/A msmith
CSC 101 basic concepts, variables, typecast True/False, Fill-in-the-Blank 30 seconds 0 N/A jdoe
CSC 101 collections, datatypes Essay 5 minutes 5 N/A msmith
CSC 101 comments Program Code 1 minute 0 10/30/04 3:19pm jdoe
CSC 101 control structures Short Answer 2 minutes 4 10/15/04 3:15am jdoe
CSC 101 declarations, initialization Multiple Choice 1 minute 5 10/29/04 7:10pm jdoe
CSC 101 exceptions Short Answer 2 minutes 5 10/15/04 3:15am jdoe
CSC 101 fundamentals Short Answer 1 minute 5 N/A jdoe
CSC 101 input, java.io Multiple Choice 20 seconds 3 N/A jdoe
CSC 101 polymorphism Essay 5 minutes 9 10/29/04 7:10pm msmith
CSC 101 shift operators Multiple Choice 1 minute 6 10/15/04 3:15am jdoe
CSC 101 array, loop Program Code 3 minutes 9 11/1/04 11:32am jdoe
CSC 101 comments True/False 10 seconds 0 N/A jdoe
CSC 101 control structures Short Answer 2 minutes 4 N/A jdoe

 

2.3.3 Difficulty Tab

If the user wants more to narrow the results of the Test Generator, he/she may specify a Difficulty range under the Difficulty Tab, shown in figure 6.

Figure 6: Difficulty Tab

The Difficulty Tab consists of two sliders, one for the Minimum Difficulty and one for the Maximum Difficulty. To change the difficulty range for the questions to be selected, the user drags the Min slider to the lower cutoff for the test and the Max slider to the upper cutoff. Questions that Test Tool selects must fall between the value of Min and the value of Max. Once the user has selected dragged the Min Slider to the 3rd line and the Max slider to the 7th line, the Difficulty Tab is shown in figure 7.

Figure 7: Difficulty Tab (Filled In)

The user clicks Generate to get a more specific test then the one generated with only the information in the basic tab. The returned test is shown in tabular form in Figure 8, the system displays the questions in the Test Edit window detailed in section 2.4.

Figure 8: Generated Test with Basic info and Difficulty.
Class Keywords Question Type Time Difficulty Last Used Owner
CSC 101 API Matching 2 minutes 6 N/A jdoe
CSC 101 array, loop Matching 2 minutes 2 10/30/04 3:19pm jdoe
CSC 101 AWT, Swing Short Answer 2 minutes 7 N/A msmith
CSC 101 typecast True/False 30 seconds 5 10/15/04 3:15am jdoe
CSC 101 collections, datatypes Essay 5 minutes 5 N/A msmith
CSC 101 control structures Short Answer 2 minutes 4 10/15/04 3:15am jdoe
CSC 101 declarations, initialization Multiple Choice 1 minute 5 10/29/04 7:10pm jdoe
CSC 101 exceptions Short Answer 2 minutes 5 10/15/04 3:15am jdoe
CSC 101 fundamentals Short Answer 1 minute 5 N/A jdoe
CSC 101 input, java.io Multiple Choice 20 seconds 3 N/A jdoe
CSC 101 shift operators Multiple Choice 1 minute 6 10/15/04 3:15am jdoe
CSC 101 loop Program Code, Matching 2 minutes 5 11/1/04 11:32am msmith
CSC 101 control structures Short Answer 2 minutes 4 N/A jdoe
CSC 101 fundamentals Multiple Choice 30 seconds 4 N/A msmith
CSC 101 output, java.io Multiple Choice 20 seconds 4 N/A jdoe
CSC 101 fundamentals Fill-in-the-Blank 30 seconds 5 10/15/04 3:15am jdoe
CSC 101 loop Program Code 2 minutes 3 11/1/04 11:32am msmith
CSC 101 control structures True/False 30 seconds 4 10/29/04 7:10pm jdoe
CSC 101 fundamentals Multiple Choice 30 seconds 4 N/A jdoe

2.3.4 Question Types

The Question Types Tab contains information relating to the output and the ability to further specify the amount of the various types of questions included in the test.

Figure 9: Question Types Tab

The question types tab has a list of all the question types available in Test Tool and two options for each type. If the check box next to a type of question is checked, questions of that type may be included in the generated test. By deselecting a type, the user limits his/her test to the other selected types. Deselected types are grayed out and the percentage box may not be edited.

Figure 10: Question Types Tab (Filled in)

By changing the value next to each answer type, the user requires that the specified percentage of questions of that type included, based on the total time of the test. Test tool automatically selects questions from the enabled types to fill the time left in the Auto-Selected box. For the criteria given in figure 10, the generated test is not required to contain any Matching Type questions, but Matching Questions may be selected to for the auto-selected portion of the test. After entering his/her choices, the Question Types Tab is shown in figure 10.

Figure 11: Question Types Tab (Filled in)

The user clicks generate to get the most specific test using the criteria he/she supplied in all three tabs. The returned test is shown in tabular form in figure 12, the system displays the questions in the Test Edit window detailed in section 2.4.

Figure 12: Generated Test form Basic, Difficulty and Question Type Tabs.
Class Keywords Question Type Time Difficulty Last Used Owner
CSC 101 API Matching 2 minutes 6 N/A jdoe
CSC 101 loop Program Code 2 minutes 3 11/1/04 11:32am msmith
CSC 101 AWT, Swing Short Answer 2 minutes 7 N/A msmith
CSC 101 typecast True/False 30 seconds 5 10/15/04 3:15am jdoe
CSC 101 collections, datatypes Essay 5 minutes 5 N/A msmith
CSC 101 control structures Short Answer 2 minutes 4 10/15/04 3:15am jdoe
CSC 101 declarations, initialization Multiple Choice 1 minute 5 10/29/04 7:10pm jdoe
CSC 101 exceptions Short Answer 2 minutes 5 10/15/04 3:15am jdoe
CSC 101 fundamentals Short Answer 1 minute 5 N/A jdoe
CSC 101 input, java.io Multiple Choice 20 seconds 3 N/A jdoe
CSC 101 shift operators Multiple Choice 1 minute 6 10/15/04 3:15am jdoe
CSC 101 control structures True/False 30 seconds 4 10/29/04 7:10pm jdoe
CSC 101 fundamentals Multiple Choice 30 seconds 4 N/A msmith
CSC 101 output, java.io Multiple Choice 20 seconds 4 N/A jdoe
CSC 101 fundamentals Fill-in-the-Blank 30 seconds 5 10/15/04 3:15am jdoe
CSC 101 fundamentals Multiple Choice 30 seconds 4 N/A jdoe
CSC 101 fundamentals Program Code 5 minutes 4 10/29/04 7:10pm jdoe

 

2.3.5 Generating a Test

Once the user clicks "Generate," Test Tool begins by checking that the data required from the user has been entered (detailed in section 2.3.6).

Once the Test Generator encounters no errors, it creates a pool of questions which include every question from the question database for the specified class (basics tab) and question types (option tab).

For each question type that has a specified percentage questions are selected by the number of keyword matches and difficulty until the total time for the question type is at the percentage of the total time. Selected questions are then removed from the question pool.

The test generator then calculates the amount of time remaining by subtracting the time of each selected question from the total time.

Questions are then selected using keyword the number of keyword matches moving the average difficulty toward the average supplied by the user. Each time a question is selected it is removed from the question pool.

Once enough questions have been selected such the that total time for the test is at the time supplied by the user in the basics tab, the system opens the Test Editor (see section 2.4) and displays figure 12 with the data from the questions filled in.


Figure 13: Test Edit Window (See Section 2.4)

2.3.6 Error Details

The Test Generator requires that the a class be selected from the class drop-down menu and that a time range be specified. If any of the data is missing, the system displays a window with a message saying which piece of data is missing.

Figure 14: Time Error Figure 15: Class Error

If the user changes the difficulty sliders, the minimum value must be below the maximum value. When the user releases one of the difficulty sliders, if the minimum is above the maximum, the system displays the error in figure 16 and the sliders are returned to their previous position.


Figure 16: Difficulty Error

If the user changes the percent of a question type to include, all the percents must add up to a value less then or equal to 100. Additionally, each percentage must be a positive value. Once a user deselects a text entry field by navigating to another tab, selecting another text entry field or radio button, or clicking Generate, the test generator updates the Auto-Selected field so that it shows the remaining percent by subtracting the combined values of the percent entry fields from 100. If the value is negative the system displays a dialogue window with the text "Percents musts add up to a value between 0 and 100." and the values are restored to their state before the last change.If the value of the deselected text box is negative, the system displays an error and restores the text box to its previous state.

Figure 17: Percentage Errors

Test Tool then searches the Question Database for all questions from the class specified by the user in the Basics Tab. If there are no questions insufficient questions in the database to create a test of the time desired, the system outputs a message as shown in figure 18.


Figure 18: Insufficient Questions

Lastly, if the test is specified to include a percentage of a particular question type (in the Advanced Tab), Test Tool checks to see that there are enough questions of that type for the specified class in the database. If there are not, the system outputs the error shown in figure 19 with the appropriate type filled in.


Figure 19: Insufficient Questions of specific type