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: Бесплатно