Best Free Online Quiz Program/Script
by Rich Deem


As most of my regular visitors know, I have had a very difficult Basic Christian Theology Quiz online for many years. In conjunction with the Discovery Bible Study Course in basic Christian theology, it is a good way to test your knowledge and learn what the Bible says about Christian theological principles. The original quiz worked okay for visitors, but it never allowed me to get feedback on how visitors were doing on the quiz. Over the years, I had looked several times for better software, but ended up being frustrated with the difficulty of using the software or making it do what I wanted it to do. However, I finally found a quiz script that works really well and is easy to setup - and it's been online for years!


QuizTest is a CGI script that was written in 1996 by Kristina L. Pfaff-Harris (last updated in 2002). Don't let the age of the script deter you - this is really good software. QuizTest was originally written to be an online quiz generator that could be used in a course to allow students to take a quiz online for grading. However, it is quite versatile and allows the "instructor" to change settings to accommodate "anonymous" testing with statistics gathering. QuizTest allows you to create multiple-choice, or true-false quizzes online and grades those quizzes, which can be emailed or just recorded.

Server requirements

QuizTest requires that the server be running Perl 5.0 or higher and that you have permissions to run CGI programs. Download the program, uncompress it, and edit quiztest.cgi in your text editor. The script contains information that needs to be changed in order to work on your server. Each point that needs to be edited is preceded by the text "**CHANGE**". The program needs to know where to put the data files ($basedir). It is best to specify a directory outside of your publically visible html directory. You might create the directory "/home/username/quiztest" and assign permissions 777. You will also need to specify the URL ($cgi_url) at which the program itself resides (usually your cgi-bin directory). You will also need to enter the admin email address (username) and password, at minimum. There are other settings that can be changed based upon what you want the program to do. After you are finished editing the quiztest.cgi file, upload it to your server (makes sure you upload it as ASCII and not binary) and change its permissions to 755. At this point, you should be able to visit the script's URL ( and login to the admin interface. Once logged in, the menu interface is pretty self explanatory and you can create your first quiz.


The one downside to the script is that it does not support external templates. However, it does allow one to use a "header" and "footer" string within the script itself. If you use your site's template up to the visible page title as $header and everything after your site's main content as $footer, the script will blend right into your site's design. The only caveat is that all characters " (quote), @, \, %, and $ must be escaped (preceded) with the backslash (\) character. So, copy your header/footer text into a blank document and replace those characters with the character preceded by a backslash, beginning with the backslash character itself. Once finished with all characters, copy the resulting file and paste it into the $header/$footer location. If you have replaced all the special characters with the \character, the script will look exactly like your site. However, if you miss even one special character, the script won't run at all. So, it is best to do a "replace all" for each character within your temporary file, prior to copying it into quiztest.cgi. A manual is included in the download, so be sure to consult it if you have problems.

Conclusion Top of page

QuizTest is a free, easy to use CGI script that allows you to create online quizzes and collect statistics or individual grades on those who take the quizzes. Installation is relatively easy, although making the quizzes to look like your website will require careful attention to detail. Designing quizzes is intuitive and straightforward. You can try one of our quizzes here.