Такой момент, что один вопрос появлялся на экране и после ответа, появлялся второй вопрос на весь экран. В принципе как в любом тестирование. Как стоит здесь делать?
Записать все 12 вопросов в одну форму, в 12 разных блоков. Показывать следующий блок после ответа на вопрос. Форма - одна. Др-ть сервер AJAX'ом каждый раз - идея плохая, так как:
1. Загрузится всё то же самое, что и за одну загрузку, но одним запросом - это будет быстрее и промежуточных данных меньше
2. Пользователю не придётся постоянно ждать подгрузки данных между ответами
И как еще при этом таймер привязать к закрытие теста?
Таймер - не надо привязывать. Берёте любой таймер на JS, коих валом или пишите простейший свой таймер (в зависимости от ваших потребностей). А на сервере соотв. проверяете время начала теста и время его окончания, если пользователь уложился в отведенный интервал - всё ок, если же нет...