Чему вы научитесь
В программном обеспечении есть ошибки и их обнаружение может потребовать больших усилий. Этот курс решает проблему нахождения ошибок с помощью автоматизации тестирования программного обеспечения, в частности путём автоматической генерации тестов. В последние годы появились новые методы, которые привели к кардинальным улучшениям в генерации тестов в тестировании программного обеспечения. Теперь они достаточно зрелые, чтобы быть собранными в один курс.
Материалы курса распространяются в соответствии с лицензией 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.