Обсуждаем поддержку фаззинг-тестирования, появившуюся в Go 1.18, и показываем, как кодить так, чтобы фаззинг-тестам было проще в этом коде находить баги. Разбираем, по каким принципам тест может понять, когда он смог сломать тестируемый код, и как переписать тесты, чтобы найти пачку внезапных багов:
- Что есть фаззинг в целом, и где используется
- Фаззинг-тест на бизнес логику – это как?
- Проводим фаззинг-тест на URL normallizer
- Помогаем фаззеру на примере поиска SQL-инъекций