I would not use one table for each user, which would just become a maintenance nightmare.
If I tried to construct this database, I would probably try to break up the data as much as possible, so for example, you have:
User table: contains all your users Questions: contains all questions
Results: Contains all results UserID, test_id, time
Test testID, questionid, answers, time_to_complete
Answers answer_id, answer
So, in this scenario, the result table is a review, it has the usersID, the test they took, and the time it took to complete it, is an overview of everything. Then you have a test table, this is the whole test on which the user put the question to the question, so you have the question identifier, a link to the table with each answer sent by the user, and then time to complete it. The response table has every response that the user sent.
So the data will look like this:
Results UserID, TestID, Time 1 1 00:11 Test TestID QuestionID, answers, time_to_complete 1 1 1 00:10:00 1 2 2 00:01:00 Answers answer_id, Answers 1 A 1 B 2 A 3 A 3 B 3 C
This approach will allow you to select specific data for each user, see how many times they have passed the test, etc., and it would be much easier to manage than thousands of tables.