Вопрос №55208 от пользователя Nmbrtw в уроке «Подготовка данных», курс «Python: Автоматическое тестирование»

Nmbrtw

Продолжу с глупыми вопросами. Во многих практиках этого курса я часто не понимал, почему тесты тестов падают и какие кейсы остались непокрытыми. Чтобы понять, приходилось читать или копировать функции на локальную машину, прогонять руками на разных наборах данных и смотреть что же с функцией не так. Думаю, это противоречит идеи автоматизированного тестирования)

Потому вопрос -- как думать и преставлять, чтобы писать вот такие ретроспективные тесты? И насколько в реальной разработке часта практика ретроспективных тестов? Потому что пока создается ощущение, что тесты намного проще писать до или во время написания кода, чем уже потом тыкать в неизвестное.

1 1

Maksim Litvinov

Чтобы понять, на какие случаи писать тесты, нужно изучить описание функции, посмотреть примеры её использования. Подумать, какие могут быть пограничные случаи. Например, вызов с пустым массивом и т.д. Затем нужно написать тесты на основные варианты использования и пограничные случаи. Например, в этом упражнении функция set() изменяет или добавляет значение в словарь по указанному пути. Соответственно, нужно проверить, что она 1) изменяет значение по указанному пути 2) добавляет новое значение, если его нет 3) Нужно проверить, что функция делает только то, что нужно и никак иначе не меняет словарь.

что тесты намного проще писать до или во время написания кода

Тут вы правы. В реальной разработке существует такой подход к тестированию, который называется "Разработка через тестирование". Это хорошая практика. Согласно этому подходу, тесты пишутся до написания самого кода. Это заставляет уже сразу задуматься о том, как будет использоваться разрабатываемая функция.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
1 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
1 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
1 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
1 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
1 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
1 июня 5 месяцев