Бонус. Тестирование (2024/25 учебный год)

  1. Что делать, если у вас?
    1. Происходит что-то странное: проверить UBL: glibcxxdebug, проверить корректность ввода, assert
    2. WA 1, PE 1, RE 1: проверить на UB
    3. TL: запустить на случайном большом тесте
    4. TL чуть-чуть: ввод-вывод, аллокация, посмотреть, какая часть дольше всего работает
    5. RE на большом тесте: запустить на случайном большом тесте
    6. WA, когда есть тест, на котором не работает: вывести побольше данных, пример с частичными суммами: вывести ввод, вывести суммы
    7. Чем дебаг-вывод лучше чем дебаг? Один раз настроил, сидишь, дебажишь. Дебаг = долгий процесс; настройка окупается.
    8. WA на большом тесте: найти тест, на котором не работает
    9. Как найти тест? Крайние случаи, запустить на случайном тесте, стресс-тест

  2. Технические детели, которые нам нужны
    1. Как запускать программу при тестировании? На файлах (пример с sublime). Редирект файлов.
    2. Как мерить время? bash:time, c++:clock()
    3. Как генерить случайный тест? c++.gen/python.gen ; прямо внутри программы (комментируем ввод-вывод)
    4. Как писать стресс-тест? Пример для задачи (sum ai)/(sum bi).
    5. Дебаг-вывод: printf, format