Конференция завершена. Ждем вас на HighLoad++ в следующий раз!

Новый тип тестов в Go 1.18

GolangConf: Hardcore

Доклад принят в программу конференции

Мнение Программного комитета о докладе

Фаззинг — недооцененный метод тестирования, при этом очень эффективный для поиска багов и уязвимостей. Радует, что команда Go развивает его. Мы разберем, какие новые возможности есть «из коробки».

Тезисы

Обычно, когда говорят о Go 1.18, все первым делом вспоминают про дженерики и незаслуженно забывают об остальных, не менее важных изменениях. Об одном из таких, а именно о появлении поддержки fuzzing-тестирования мы поговорим в этом докладе.

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

За 10+ лет опыта успел пописать на множестве языков, начиная от известных Pascal и PHP и заканчивая малопопулярными Haskell и Elixir. На любой вопрос отвечает «могу рассказать», а в перерыве между разработкой ядра облака и сном ковыряется в новых технологиях до того, как они станут модными. Делает самый важный сервис облака — IAM.

Selectel

Видео