Как сделать приложение-тест без кода: логика и цена
Опишите текстом, о чём тест, сколько в нём вопросов, как считается результат и что человек видит в конце. Zugo соберёт работающее приложение с экраном вопроса, переходами и итогом, проверит его в песочнице и опубликует на адресе вида yourquiz.zugo.run. Одна сборка стоит 6 кредитов, правка 3.
Тест выглядит простым продуктом, но у него есть скрытая сложность: правило подсчёта. Экраны и кнопки конструктор делает уверенно, а вот как именно ответы превращаются в результат, он придумает сам, если вы этого не написали. И придуманное правило почти никогда не совпадает с вашим.
Какие бывают тесты и чем они отличаются в сборке?
Три разных типа прячутся за одним словом. Тест на знания имеет правильные ответы и выдаёт число баллов. Тест-типология правильных ответов не имеет и относит человека к одному из профилей. Тест-квалификация задаёт вопросы, чтобы разложить посетителя по сегментам и подсказать следующий шаг.
Собираются они одинаково легко, но описываются по-разному. Для теста на знания нужно указать правильные варианты и порог. Для типологии нужна таблица соответствия ответов профилям. Для квалификации нужно правило ветвления: какой ответ ведёт к какому итогу.
Есть и четвёртый формат, который стоит различать: викторина на время с очками. Она уже ближе к игре, чем к тесту, и требует таймера, счётчика серий и экрана рекорда. Zugo собирает игры в 2D и в браузере, и простая викторина в этот класс попадает целиком.
Выбор типа определяет объём работы сильнее, чем количество вопросов. Тест из тридцати вопросов с одним правилом подсчёта проще, чем тест из десяти вопросов с ветвлением. Об этом полезно подумать до первой сборки.
Как описать логику теста в промпте?
Промпт должен содержать четыре вещи: тему, число вопросов, правило подсчёта и вид итогового экрана. Если убрать хотя бы одну, конструктор заполнит пробел по своему усмотрению, и вы потратите правку по 3 кредита на то, чтобы вернуть его к вашей логике.
Слабый вариант: «сделай тест по маркетингу». Сильный: «Приложение-тест из 10 вопросов по основам маркетинга. Один правильный вариант из четырёх. За каждый верный ответ 1 балл. В конце показывается число баллов, короткий разбор ошибок и кнопка пройти заново. Прогресс виден сверху».
Второй вариант задаёт формат вопроса, шкалу, содержание итога и элемент интерфейса. Такой промпт даёт работающее приложение с первой сборки, и правки уходят на текст вопросов, а не на переделку механики. Это самая экономная стратегия по кредитам.
Для типологии добавьте таблицу соответствия прямо в промпт: «ответы A дают профиль стратег, B аналитик, C исполнитель, побеждает профиль с наибольшим числом ответов». Правило, написанное одной строкой, работает надёжнее, чем описание его словами на абзац.
Как считаются баллы и результат?
Логика подсчёта живёт в сгенерированном коде, и вы можете её прочитать. Это важнее, чем кажется: проверить правило на трёх прогонах дешевле, чем узнать о смещении после того, как тест прошли триста человек.
Проверять надо крайние случаи, а не середину. Пройдите тест, ответив везде верно, потом везде неверно, потом ровно на пороге. Если пороговый случай отрабатывает так, как вы задумали, скорее всего, и остальное считается правильно. Если нет, правка займёт одну итерацию.
Отдельная ловушка это равные результаты в типологиях. Когда два профиля набрали поровну, приложение должно что-то выбрать, и правило выбора нужно назвать самому: первый по порядку, случайный, или отдельный смешанный итог. Не назовёте, получите поведение, о котором не знаете.
Ещё одно правило подсчёта, которое часто забывают: что происходит при пропуске вопроса. Разрешать пропуск, считать его как ноль или блокировать переход дальше это три разных продукта, и разница в один абзац промпта.
Сколько стоит приложение-тест в кредитах?
| Действие | Кредитов |
|---|---|
| Одна сборка: сайт, приложение или игра | 6 |
| Многостраничная платформа, первые три страницы | 12 |
| Каждая следующая страница | 3 |
| Правка готовой сборки | 3 |
| Сборка в режиме Hi-Fi | 12 |
| Правка в режиме Hi-Fi | 6 |
Обычный тест это одна сборка за 6 кредитов и две или три правки по 3, чтобы довести формулировки вопросов. Тест с админкой, где вы редактируете вопросы и смотрите статистику, это уже многостраничная платформа: 12 за первые три страницы и по 3 за каждую следующую.
Free даёт 5 кредитов, чего не хватит даже на одну свежую сборку. Pro стоит $25 в месяц и включает 200 кредитов. Business стоит $99 в месяц. Тесты правят чаще, чем собирают, поэтому планировать бюджет стоит по правкам: они и есть основная статья расхода.
Среди 25 готовых шаблонов Zugo есть отправные точки, включая 5 игровых, и начать с ближайшего обычно дешевле, чем описывать всё с нуля.
Нужно ли сохранять результаты и как?
Если тест развлекательный, не нужно. Результат показывается на экране, человек делится скриншотом, и на этом жизненный цикл заканчивается. Такое приложение не требует ни базы, ни авторизации и работает полностью в браузере.
Если тест собирает лиды или используется в обучении, результаты нужно хранить. Через коннектор Supabase каждое прохождение попадает в таблицу вместе с контактом, а вы логинитесь и видите список. Устройство такой связки разобрано в статье про приложение с Supabase.
Здесь появляется вопрос честности к пользователю: если вы сохраняете ответы, скажите об этом до начала теста, а не в подвале. Это одна строка текста, которую конструктор поставит по просьбе, но сам не придумает.
Когда прохождений становится много, полезен отдельный экран со сводкой: сколько людей начали, сколько дошли до конца, на каком вопросе отваливаются. Как устроены такие экраны, разобрано в материале про панель SaaS.
Как сделать так, чтобы тест проходили до конца?
Главный враг теста это его длина. Каждый следующий вопрос теряет часть людей, и потеря нелинейна: между седьмым и восьмым вопросом отваливается больше, чем между вторым и третьим. Десять вопросов это разумный потолок для теста, который проходят добровольно.
Второй фактор это видимый прогресс. Полоса или счётчик вида «вопрос 3 из 10» удерживает лучше, чем любая анимация, потому что отвечает на вопрос «сколько ещё осталось». Просить её надо явно в промпте: по умолчанию конструктор ставит её не всегда.
Третий фактор это формулировка первого вопроса. Он должен быть лёгким и про самого человека, а не про знание. Тест, который начинается со сложного вопроса, воспринимается как экзамен, и часть людей закрывает его, не желая ошибиться на публике, даже когда никакой публики нет.
Четвёртый это итоговый экран. Результат без объяснения бесполезен: человек узнал число и ушёл. Разбор ошибок, короткий комментарий к профилю или конкретный следующий шаг превращают результат в причину поделиться и в причину вернуться.
И отдельно про сбор контакта. Требование почты до показа результата резко снижает долю дошедших. Если контакт нужен, честнее показать результат и предложить прислать подробный разбор на почту: тогда обмен выглядит как обмен, а не как выкуп.
Чего конструктор не сделает?
Он не проверит содержание вопросов. Формулировки, правильные ответы и корректность разбора остаются на вас. Приложение исправно посчитает баллы по неверному ключу и ничего не заподозрит.
Он не даст научной валидности. Психологические и профориентационные методики это отдельная область со своими требованиями. Сгенерированный тест это интерфейс, а не инструмент диагностики, и подавать его как диагностику некорректно.
Он не заменит команду разработки на сложном продукте. Система тестирования с антисписыванием, банком вопросов и адаптивной сложностью это платформа. Очень специфичная логика доводится последовательными правками, а не одним промптом.
Каждая сборка перед выдачей запускается в песочнице, и та, что не открылась, до вас не доходит. Это защищает от нерабочего приложения, но не от ошибки в ключе ответов.
С чего начать
Напишите вопросы в блокноте, отметьте правильные варианты и решите одно предложение про подсчёт: что человек увидит в конце. Этого достаточно для первой сборки на Zugo. Дальше пройдите тест трижды крайними сценариями и поправьте то, что разошлось с задумкой. Если тест нужен как первый шаг для клиентов практики, посмотрите разбор про сайт психолога.