The Fuzzing Book на русском!

Курс "Инструменты и методы разработки тестов программного обеспечения". Основой курса является электронная книга с упражнениями "The Fuzzing Book. Tools and Techniques for Generating Software Tests", написанной Andreas Zeller, Rahul Gopinath, Marcel Böhme, Gordon Fraser, and Christian Holler.
Средний уровень

О курсе

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

Материалы курса распространяются в соответствии с лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Исходный код, который является частью материалов курса, а также исходный код, используемый для форматирования и отображения этого содержимого, распространяются в соответствии с лицензией MIT.

Замечания к переводу

Оригинальный курс (книга) изобилует специальными терминами из тестирования ПО. Не для всех терминов есть подходящий перевод, но при переводе были предприняты попытки максимально ясно отразить смыслы терминов.

Уроки содержат видео из оригинального курса. Аудиодорожка в видео оставлена без изменений, но будут добавлены субтитры на русском языке. К сожалению, в мобильном приложении Stepik видеоплеер не поддерживает субтитры.

Из незавершенного:

  1. Некоторые главы остались не переведенными.
  2. Упражнения и викторины в главах не прорешены.
  3. Субтитры для видео не переведены на русский язык.

Для кого этот курс

Эта работа задумывалась как курс по тестированию ПО или тестированию безопасности; как дополнительный материал в курсе по тестированию ПО, тестированию безопасности или программной инженерии; и как ресурс для разработчиков ПО. Представленные темы охватывают случайный фаззинг, фаззинг на основе мутаций, генерацию тестов на основе грамматики, символьное исполнение и многое другое, иллюстрируя все методы примерами кода, которые вы можете опробовать самостоятельно. Курс рекомендуется старшеклассникам, студентам младших курсов и разработчикам программного обеспечения, желающим освоить рандомизированное тестирование и научиться применять его на практике.

Начальные требования

Для прохождения курса рекомендуется базовое знание языка Python. Если недостаточно уверенно себя чувствуете с этим языком, то воспользуйтесь официальным руководством по Python 3 или пройдите один из курсов по Python.

Как проходит обучение

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

Оригинальный курс FuzzingBook предлагает три варианта использования кода из курса: запуск в блокнотах Jupyter в облачном окружении, импорт кода после установки Python-модуля fuzzingbook, загрузка кода из репозитория проекта для локального редактирования и запуска программ.

Платформа Stepik накладывает ограничения на расширение используемой среды выполнения Python, поэтому модуль fuzzingbook не может использоваться в упражнениях. Из-за этого курс авторы перевода предлагают экспериментировать с кодом с помощью одного из способов, которые предложили авторы оригинального курса FuzzingBook.

Программа курса

загружаем...
Price: Бесплатно

Расскажите о курсе друзьям

Price: Бесплатно