In my online exam applications I create an object to hold each user's information - present question number, answers so far, indexes of each question in the main question script, etc. - Naturally the reference to the object is stored in the session and thats the only thing that is stored there. This approach lets the user move backwards and forwards through the
test, jump to a marked question, etc.
By making the object Serializable you have the possibility of saving and resuming the test.
Bill