Автотестировщик Python

OlimpTest — Руководство пользователя

Версия приложения: 1.0 (b) СКАЧАТЬ
Назначение: автоматизированная проверка олимпиадных программ на Python с ведением рейтингов и экспортом отчётов.


1) Что умеет OlimpTest

  • Создание автотестов к заданиям и органиовывать их в виде комплектов.

  • Возможности автоматических тестов: многострочный ввод/ожидаемый вывод, баллы за прохождение теста, учёт таймаута (в секундах или миллисекундах), игнорирование пробелов по краям строк ввода/вывода.

  • Ведение базы участников (ФИО, класс), привязка файлов решений к заданиям выбранного комплекта.

  • Автозапуск решений по тестам, начисление баллов, подробные результаты и просмотр кода с нумерацией строк.

  • Рейтинги: общий и по классу, по выбранному комплекту. Экспорт в CSV, совместимый с MS Excel (UTF‑8 с BOM, разделитель ;).


2) Установка и запуск

  1. Установите Python 3.10+ (Windows).

  2. Скачайте файл OLIMPTEST.py.

  3. Для запуска выполните в терминале команду из директории с файлом:

    python OLIMPTEST.py
  4. При первом запуске рядом создастся база olymp_manager.db (SQLite).


3) Быстрый старт (5 шагов)

  1. Создайте комплект: вкладка Комплекты / Задания / Тесты → «Добавить комплект» (например, Олимпиада 9–11 классы).

  2. Добавьте задания внутри комплекта (например, «Задача 1», «Задача 2»).

  3. Добавьте автотесты для каждого задания: введите многострочный Ввод, Ожидаемый вывод, задайте Баллы. При необходимости отметьте «Учитывать таймаут» и «Игнорировать пробелы по краям строк».

  4. Перейдите на вкладку Участники и запуск: выберите комплект в выпадающем списке, создайте участника (ФИО, класс), выберите файлы .py по заданиям этого комплекта.

  5. Нажмите Запустить автотесты. Слева/справа увидите результаты; экспорт доступен кнопкой Экспорт результатов (CSV).


  • Запуск автотестов:

    • при нажатии выполняется принудительное сохранение участника и привязанных файлов;

    • старые результаты этого участника удаляются перед запуском;

    • автотесты выполняются только по заданиям выбранного комплекта.


  • Двойной щелчок по комплекту/заданию/тесту — быстрое редактирование.

  • В многострочных полях доступно контекстное меню: Вырезать/Копировать/Вставить и Выделить всё.

  • Если участник уже есть в списке, его можно выбрать и перезапустить тесты (старые результаты удаляются автоматически).


Резервное копирование

  • Все данные хранятся в файле olymp_manager.db. Для резервной копии достаточно скопировать этот файл при закрытом приложении.


Частые вопросы (FAQ)

Q: Почему программа не находит файл решения?
A: Проверьте правильность пути и то, что комплект выбран верно: список заданий формируется по выбранному комплекту.

Q: Вывод совпадает визуально, но тест не засчитывается.
A: Включите флажок «Игнорировать пробелы по краям строк», если формат теряет значимость. Если формат важен — оставьте выключенным.

Q: Excel показывает «кракозябры».
A: Откройте экспортированные CSV напрямую двойным щелчком — файлы сохраняются в UTF‑8 с BOM и должны открываться корректно. При импорте вручную в Excel выбирайте кодировку UTF‑8 и разделитель ;.

Q: Можно ли запускать решения не на Python?
A: Текущая версия ориентирована на Python. Поддержку других языков, может быть, мы добавим в будущих версиях.


Обратная связь

Если у вас есть предложения по улучшению, пишите oss-sk@mail.ru

 

Политика конфиденциальности || Пользовательское соглашение