Бонус. Тестирование (2024/25 учебный год)
- Что делать, если у вас?
- Происходит что-то странное: проверить UBL: glibcxxdebug, проверить корректность ввода, assert
- WA 1, PE 1, RE 1: проверить на UB
- TL: запустить на случайном большом тесте
- TL чуть-чуть: ввод-вывод, аллокация, посмотреть, какая часть дольше всего работает
- RE на большом тесте: запустить на случайном большом тесте
- WA, когда есть тест, на котором не работает: вывести побольше данных, пример с частичными суммами: вывести ввод, вывести суммы
- Чем дебаг-вывод лучше чем дебаг? Один раз настроил, сидишь, дебажишь. Дебаг = долгий процесс; настройка окупается.
- WA на большом тесте: найти тест, на котором не работает
- Как найти тест? Крайние случаи, запустить на случайном тесте, стресс-тест
- Технические детели, которые нам нужны
- Как запускать программу при тестировании? На файлах (пример с sublime). Редирект файлов.
- Как мерить время? bash:time, c++:clock()
- Как генерить случайный тест? c++.gen/python.gen ; прямо внутри программы (комментируем ввод-вывод)
- Как писать стресс-тест? Пример для задачи (sum ai)/(sum bi).
- Дебаг-вывод: printf, format