О курсе
В программном обеспечении есть ошибки и их обнаружение может потребовать больших усилий. Этот курс решает проблему нахождения ошибок с помощью автоматизации тестирования программного обеспечения, в частности путём автоматической генерации тестов. В последние годы появились новые методы, которые привели к кардинальным улучшениям в генерации тестов в тестировании программного обеспечения. Теперь они достаточно зрелые, чтобы быть собранными в один курс.
Материалы курса распространяются в соответствии с лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Исходный код, который является частью материалов курса, а также исходный код, используемый для форматирования и отображения этого содержимого, распространяются в соответствии с лицензией MIT.
Замечания к переводу
Оригинальный курс (книга) изобилует специальными терминами из тестирования ПО. Не для всех терминов есть подходящий перевод, но при переводе были предприняты попытки максимально ясно отразить смыслы терминов.
Уроки содержат видео из оригинального курса. Аудиодорожка в видео оставлена без изменений, но будут добавлены субтитры на русском языке. К сожалению, в мобильном приложении Stepik видеоплеер не поддерживает субтитры.
Из незавершенного:
- Некоторые главы остались не переведенными.
- Упражнения и викторины в главах не прорешены.
- Субтитры для видео не переведены на русский язык.
Для кого этот курс
Начальные требования
Для прохождения курса рекомендуется базовое знание языка Python. Если недостаточно уверенно себя чувствуете с этим языком, то воспользуйтесь официальным руководством по Python 3 или пройдите один из курсов по Python.
Как проходит обучение
Весь курс состоит из нескольких больших разделов, каждый их которых в свою очередь содержит главы и упражнения для закрепления теоретического материала. Последовательное изучение разделов вовсе необязательно, первая глава курса содержит возможные траектории обучения в зависимости от целей обучающегося.
Оригинальный курс FuzzingBook предлагает три варианта использования кода из курса: запуск в блокнотах Jupyter в облачном окружении, импорт кода после установки Python-модуля fuzzingbook, загрузка кода из репозитория проекта для локального редактирования и запуска программ.
Платформа Stepik накладывает ограничения на расширение используемой среды выполнения Python, поэтому модуль fuzzingbook не может использоваться в упражнениях. Из-за этого курс авторы перевода предлагают экспериментировать с кодом с помощью одного из способов, которые предложили авторы оригинального курса FuzzingBook.