12.17 Тренировочный заход на кросс-тестирование
Методику зачётного кросс-тестирования см. в плане следующего занятия
Подготовка программных средств тестирования:
установка средств тестирования в домашний каталог, с консультациями преподавателя:
- в окружении практикума необходимая для установки среда уже подготовлена
Тем, у кого не сработал "обычный" pip install (выдана диагностика OSError и т.п.), следует создать виртуальное окружение и ставить hworker в него:
python3 -m venv crosstest cd crosstest . bin/activate (и теперь команда установки hworker через pip install)
В некоторых случаях стартовый сценарий в командной строке не виден, тогда вместо hworker надо писать python -m hworker
- Быстрая проверка, что средства запускаются:
hworker -s -c update
Это тестовый пример, он заводится в подкаталоге sample
можно даже запустить hworker -s -c update -c publish, но не обязательно
- Каждый выбирает себе напарника.
если участников нечётное число, нужна одна тройка участников с тестированием по кольцевой схеме A->B->C->A (А тестирует реализацию В, и т.п.)
Подготовка HWorker к кросс-тестированию
Создаём пустой каталог и кладём туда конфигурационный файл для кросс-тестирования
- Вписываем в этот файл себя и напарника
- Удаляем (или комментируем) все задачи, кроме одной — для скорости
- Например:
... все остальные строки не трогаем [tasks._default] time_limit = 2 [tasks."20241008/2"] open_date = 2024-10-08 [score] score_directory = "scores" ... все остальные строки не трогаем
Проверяем, что HWorker работает в режиме полной проверки:
hworker путь-до/personal.toml -c update
- Ошибок быть не должно
Заходим в свой репозиторий. Подкладываем в подкаталог check выбранной задачи файл remote с описанием тестов, которые написали не вы. Формат файла:
[remote] "Him:20241008/2/01" = [] "Him:20241008/2/02" = [] "Him:20241008/2/03" = [] …
Him — ID напарника, 20241008/2 — ID задачи, 1 — имя файла без расширения .in/.out
Пушим файл 20241008/2/remote в репозиторий
Выполняем кросс-тестирование этой задачи той же командой (update).
Посмотреть результаты можно командой hworker путь-до/personal.toml -c "show result"
- о возникающих косяках средств тестирования оповещаем преподавателя, т.к. это первый заход на массовое тестирование самих средств
Д/З
Выполняем кросс-тестирование всех Д/З, для которых есть тесты, по этой схеме.