It would be pointless to allow students to retake an exam if it were identical each time. Students could simply memorize the answers -- not exactly a desirable sort of learning. The simplest measure is to vary the order of the questions -- DRILL does this -- but further, its test bank contains question models, not specific questions. Each time a question is presented, the parameters are varied.
The following question presents a false model of addition. The next time this question appears, the false model will remain, but the functions will likely be quite different.
Since the DRILL server generates questions on-the-fly, it is a trivial matter for it to also grade the answers. This immediate feedback is very helpful to students. In part to allow this convenient feature, the only questions currently supported are true/false and multiple choice. In the future, we plan to expand to include limited fill-in-the blank questions as well.