Система тестирования Московской Электронной Школы

Веб-сервис для электронной образовательной системы Москвы и Московской области. Разработка объединяет в себе инструменты создания, прохождения, оценки и выгрузки результатов в электронный дневник.
2017 - настоящее время
WebPack
Hibernate
Redux
Docker
PostgreSQL
React
Kotlin
Spring
Java
800 тыс. запросов в секунду
обработал сервис при пиковой нагрузке во время локдауна весной 2020 г.
2,8 млн. пользователей
суммарное количество уникальных зарегистрированных пользователей
1500 школ
в Москве и Московской области используют систему для проверки знаний учащихся
65 тыс. тестов в базе
наборы заданий, которые ежедневно используются преподавателями

Наш клиент

Департамент Информационных Технологий Москвы — орган исполнительной власти, который проектирует инфраструктурные инфо-системы и занимается цифровой трансформацией муниципальных услуг столицы. В 2017 году ДИТ запустил образовательный проект «Московская электронная школа», в состав которого и входит веб-сервис «Тестирующая система».
Нам предстояло разработать онлайн-сервис, который поможет упростить рутинные задачи учителей и методистов при создании домашних заданий и тестов, а учащимся дать современный цифровой интерфейс их выполнения.

Благодаря функционалу тестирующей системы и всем интеграциям, пользователи получают возможность решать привычные задачи учебного процесса в веб-интерфейсе из любой точки, где есть доступ в интернет.

Задача

3 FrontEnd разработчика
3 BackEnd разработчика
QA инженер
PM — менеджер проекта

Команда проекта

Ключевые инструменты сервиса

Конструктор домашних заданий

Предусматривает возможность устанавливать количество блоков с вопросами и назначать им уровни сложности, выбирать задания для тестов и задавать типы ответов из встроенных наборов.
Выполнение контрольных тестов и домашних заданий учащимися. Возможны опции ограничения по времени, отображение/скрытие результата по задачам.
1
2

Выполнение заданий

Автоматическая проверка результата

После завершения теста, система автоматически рассчитывает результат, исходя из ценности всех правильно выполненных заданий.
Сервис дает возможность автоматически создавать тесты из базы заданий тестирующей системы по заданным параметрам.
3
4

Автогенерация тестов

История и журнал результатов

Преподаватели, учащиеся школ или их законные представители могут отслеживать итоги прохождения тестов учебной программы в личном кабинете.
Глобально тестирующая система интегрирована с Московской Электронной Школой, на которой базируется весь цифровой образовательный процесс.
5
6

Интеграции с МЭШ

Этапы развития и результаты

2017 — MVP

2017 — MVP

Реализовали базовый функционал сервиса: создание, прохождение
и автоматическая проверка тестов.

2018−2019 — новый функционал и непрерывные улучшения

2018−2019 — новый функционал и непрерывные улучшения

Расширили возможности сервиса множеством новых фичей, в числе которых:

отдельная база эталонных заданий для создания новых тестов;

расширение типов заданий;

сопоставление заданий с темами и дидактическими единицами учебной программы;

расширение возможностей конструктора заданий, вариативности способов прохождения тестов и его условий (максимальное время, количество попыток, очередность ответов и т. д.);

отображение статистики прохождения заданий;

Импортировали в базу большой объем тестовых заданий из внешних источников;

2020 — рост нагрузки во время локдауна и глобальный рефакторинг

2020 — рост нагрузки во время локдауна и глобальный рефакторинг

Интеграция с ЕСИА(госуслуги) для авторизации пользователей.
Для улучшения метрик отказоустойчивости под резко выросшей нагрузкой провели оптимизацию запросов в БД, в несколько раз облегчив взаимодействие с бэкэндом, переработали сценарии API для оптимизации импортируемых данных из внешних сервисов и интеграций, провели большой рефакторинг накопившегося legacy-кода.

2021-2022

2021-2022

Запустили автогенерацию уникальных вариантов тестов из базы материалов;
Модернизируем UI/UX в интерфейсах для учителей и методистов;
Расширяем логику системы оценок результатов тестов новыми методами;
Выделение Тестирующей системы из архитектуры данных МЭШ Библиотека в обособленную базу данных.