Test Taker Engine is a free and open source multilingual multiple-choice test management software. It is written in C# on top of the Microsoft .NET Framework 3.5. It was not developed to compete with commercial test management software of its kind, but to provide a free minimalist solution for whoever might find it useful.
I wrote this software particularly to manage tests for my students at a college during which time I served as an instructor. It was not developed to be a server-client application (though one can simply modify the source code to change the location where the database file is picked from to make it behave so) because the infrastructure at the time of writing did not support such implementation. It is presented here in the spirit of promoting open source software development by individual programmers in Africa, especially Ghana.
Test Taker Engine has a limited set of features compared with its commercial counterparts. It basically allows an administrator (usually an instructor or teacher) to setup a test and let the takers (usually students) take it. It comes bundled with support for three languages, namely, English, French and Spanish.
The software installs with only a single user account, namely, admin. This login account has no password. Hence, it is the responsibility of the one in charge to set up a strong password for the account after installation of the software has been completed.
Here are some details on the core features of the software. The documentation provided here is based on the English language user interface of the software. Hence, some names and control labels mentioned here may be different from other languages.
After installation, one can create as many accounts as they please. However, you have to make sure that there is at least one administrator account at all times. Failure to adhere to this may permanently prevent you from gaining access to the Administration Panel. The term "users" comprise of both those with administrative privileges and those who do not. It is an administrator's duty to properly assign access privileges.
To create, edit, or delete user accounts, you must first login as an administrator. After login, click on the Users tab to see a full list of all created users in the system. From there, the administrator can create a new user account by simply clicking the New button at the bottom of the window. Edit and Delete buttons are also displayed across the same region of the window.
The Add and Edit buttons will popup a dialog box to accept information about the user to create or edit. Fill in the details as required and click the Save button to save the changes. One thing worthy of pointing out is the difference between Name and Username. Name refers to the name you would like to identify each user with (e.g., Joe Tagoe) whereas Username is the unique identifier that the user will use to login. Logically, then, there cannot be multiple users with identical usernames.
The Tests tab allows an administrator to create tests to be taken by non-administrator users. Initially the contents of the Tests tab page will be empty but you can create, edit, and/or delete tests by clicking the appropriate button on the window. Clicking the Add or Edit button will popup a dialog box to supply the details about a particular test. Here are some explanation about the fields.
The Questions tab page is where an administrator can create, edit, or delete questions for any particular test. Since questions belong to tests, you must create at least one test before you can create any question. The drop-down menu on the tab page lets you select the test you want to create a question for. The tab page also lists all questions within a selected test allowing you to edit or delete any of them.
Clicking the Add or Edit button opens a dialog box to accept details about a question to create or edit. Here are some explanation about the available fields.
The Scores tab page allows an administrator to view all test scores recorded by Test Taker Engine. The scores are shown based on the selected test from the drop-down menu. As rational as it sounds, an administrator can delete a score but cannot add or edit one.
Here are some explanations on what the columns in the data sheet mean. Note that the values shown in the data sheet are those recorded at the time of completion of the test. If any changes are made to the test afterwards, the values here will not be affected (with the exception of the name which will be updated should the name of the taker change).
The test interface is not available to an administrator. It is the interface that a non-administrator (test taker, usually a student) will see when that user is logged in. The whole screen is captured effectively preventing the taker from minimizing the window or doing something as such.
The home screen will allow the taker to select from a list of tests to take. After the appropriate test is selected, the user may click the Start button to begin the test. Other buttons available on the screen are Terminate (to quit taking the test) and Password (to change their login password).
Once the test is started (that is, when the user clicks the Start button), buttons like Review, Previous, and Next will appear. The Review button allows the taker to quickly inspect the questions to check whether there some that have not been answered. The Previous and Next buttons allows the taker to navigate through the questions in the test. When the last question is reached, the Finish button will appear. The taker can then click this button to submit the test for marking.
When a test is ended—whether the taker clicked the Terminate or Finish button, or was forcibly ended because the taker run out of time—the final score will be presented to the user. If the test is configured to display the score in percentage, it will be expressed as such. The taker may finally click the Close button to exit the application.
You can download both the Windows installer package and the complete source code of the program from here. The source code files have been compressed into a ZIP archive to save disk space and transfer bandwidth. Select the appropriate download link from the provided links below.
|test-taker-1.0.zip||Test Taker 1.0 Windows installer||1.17 MB|
|test-taker-1.0-src.zip||Test Taker 1.0 complete source code||1.03 MB|
The license that comes with this software (both the source code and compiled binaries) allows you to distribute, remix, tweak, and build upon your work, even commercially, as long as you credit the author for the original creation. See the in-package LICENSE.txt for additional information.
NOTE: The software requires the Microsoft .NET Framework 3.5 to be installed on the computer to run it. If you're using a Windows 7 operating system, this component is already installed so you don't need to perform any download. If you're using Windows XP or Vista, you may have a .NET Framework installed but not the version that this application requires. In that case, you will have to download and install the version 3.5 in order to be able to run the applicatiion.
February 21, 2013 at 15:51 GMT
Cool, cool. I like this man. You should also make it web based. I am currently working on a similar program like this.
February 23, 2013 at 21:47 GMT
Great App and it shows clearly that you are an NIIT product. You created something just like the NIIT Test Engine . . . so similar!
November 20, 2014 at 12:21 GMT
Please can you release the full solution of this software, so it can easily be modified. I would like to add a few functionality like logout, so you don't have to close the whole application when trying to switch from student to administrator view
November 21, 2014 at 16:48 GMT
Hi Vic. Actually, there is no "full solution" for this app. (I'm guessing you are talking about a Visual Studio solution.) What is available for download is exactly what I have at my end; no IDE stuff, just flat source code files. Maybe you can take that up as a project, that is, port the source code to Visual Studio and release it on Github or something. It would be so nice :)
November 22, 2014 at 10:30 GMT
@Michael Okay Bro, I will try that out if it's possible I'll let you know.