Посоветуйте, как автоматизировать тест
Вопрос, возможно, у кого-то вызовет улыбку: мол, все ведь просто, с этим сейчас чуть ли не любая нейросеть справится, только задай задание правильно.
Но вот я знаю, как должен выглядеть функционал, а к кому с этим идти – к разработчикам приложений, к создателям сайтов, к программистам – не знаю.
Подскажите, люди опытные!
Итак, есть тест из пяти категорий вопросов, в каждой категории по 100 вопросов. Для каждого вопроса есть один правильный ответ и пять неправильных.
Соответственно, все это хранится в экселевской таблице: на каждую категорию вопросов своя вкладка, первый столбец с вопросом, второй столбец – с правильным ответом, следующие столбцы – с неправильными ответами .
Приложение (или веб страница) должна загрузить файл с вопросами, в случайном порядке выбрать вопрос из первой категории, вывести его на экран.
Также программа должна подтянуть из таблицы ответы на этот вопрос, и вывести их на экран – но расположить хаотично (чтобы правильный ответ из второго столбаца не всегда был ответом № 1)
Тестируемому дается время, он нажимает кнопку с выбранным ответом.
Если ответ правильный – то приложение (или веб- страница) переходит ко второй категории вопросов.
Если ответ неправильный или истекло время – то приложение (или веб- страница) задает новый вопрос из первой категории.
Если при ответе на вопросы из второй, третьей, четвертой и пятой категории тестируемый дает неверный ответ или истекло время ответа, то вначале повторяется вопрос из этой же категории, а при повторной ошибке или истечении времени – вопрос из предыдущей категории.
Важно – вопросы дублироваться не должны.
То есть, если приложение (или веб-страница) вернула тестируемого к вопросам третьей, например, категории, из, соответственно, четвертой, то не должны задаваться вопросы, которые задавались ранее.
В общей сложности тестируемому задается 5 вопросов, после чего информация о заданных ему вопросах и данных им ответах передается обратно на сервер, и записывается в таблицу в виде:
Первый столбец – категория вопроса.
Второй столбец – сам вопрос
Третий – выбранный ответ, «0» если истекло время, а ответ не дан
Четвертый – отметка «+» если ответ правильный, «-» если неправильный, «0» если истекло время.
И так в отношении каждого заданного вопроса, то есть, соответственно:
Пятый столбец – категория вопроса.
Шестой столбец – сам вопрос
Седьмой – выбранный ответ, «0» если истекло время, а ответ не дан .
Восьмой – отметка «+» если ответ правильный, «-» если неправильный, «0» если истекло время.
По завершению теста тестируемому на экран выводится сообщение о количестве правильных ответов (в процента)
Важно: допуск к тесту – только для зарегистрированных пользователей, допуск – не чаще, чем раз в три дня, причем регистрация – по номеру телефона (чтобы снизить наплыв в левых емейлов).
Видимо, это потребует направления какого-то SMS – сообщения при первичной регистрации?
Важно: в самом приложении нет файла с вопросами и ответами – вопросы для теста систематически дорабатываются.
Если же это реализовывать через веб-страницу, то у пользователей не должно быть возможности скачать файл с вопросами и ответами.
Вопрос, который меня интересует: как эффективнее и надежнее (в плане сохранения базы вопросов) реализовать описанное?
Через создание соответствующего сайта?
Или через написание приложения?
Что эффективнее для сохранения запрета о тестировании раз в три дня? Приложение? Веб- страница?
Или те сервисы для виртуальных номеров, которые легко гуглятся – они сводят «на нет» такую попытку? Тогда каким образом это можно сделать? Ограничить регистрацию толкьо для российских номеров (+79хх-ххх -ххх -хх)?
Сколько может стоить разработка такого сайта? Написание приложения?
Сколько по времени займет создание сайта? Написание приложения?
Сервис для регистрации по номеру телефона – требует ли он каких-то лицензий?
Как реализуется направление СМС при регистрации? Сколько это стоит, и кому за это платят? Операторам связи? Или существуют какие-то агрегаторы, представляющие эти услуги?
Можете ли порекомендовать разработчиков, способных реализовать данный алгоритм?