пятница, 13 февраля 2015 г.

Упреждающее тестирование и прочие вкусности

Я уже говорил, что начал на онлайн-платформе edX обучение на курсе Introduction to Computer Science and Programming Using Python. С отсутствием русского языка справился - теория большей частью знакома, так что онлайн-перевод субтитров вполне достаточен. Пакет Python Canopy вполне заменила Minicinda, по крайней мере пока проблем не возникало. В общем - понемногу двигаюсь к концу курса. Сертификата с отличием не будет, но на твердую четверку пожалуй сдам.

Что понравилось?

Программа шире, чем курсы Степик. Недели за три изложили примерно то же самое, дальше пошёл дополнительный материал, например, обработчик ошибок - раньше про это даже не слышал.

На каждую неделю есть Problem Set - своего рода контрольная работа по программированию. На четвертой неделе в рамках этой работы очень красиво продемонстрировано удобство модульного подхода в программировании и преимущество заранее написанных тестов для программы. Первый раз вижу, что бы на курсах именно ставили правильный стиль программирования. Супер!

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

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

И это - пока только половина курса! Надеюсь и дальше сюрпризы будут только приятные.

Комментариев нет:

Отправить комментарий