TGViewer
Типичный программист Типичный программист @tproger · 78.2K subscribers
Post #14858 4.48K
Как собрать генеративное тестирование на Zig в 256 строк

Для эксперимента с алгоритмом согласования состояния между узлами автор сначала за пару часов написал свою библиотеку, а затем тест, который сам собирает случайные сценарии. Он нашёл дюжину обычных ошибок в коде и глубокий изъян в самой идее алгоритма.

Парадокс в основе: генератор не создаёт бесконечный поток чисел, а читает заранее подготовленный массив байтов и сообщает, когда тот закончился. Из этих байтов тест выбирает узел, данные запроса и следующее действие: запрос, доставку сообщения или сбой.

В разборе реализации есть путь от выдачи байтов и целых чисел до взвешенного выбора событий в симуляции. Материал пригодится, если хочется понять механику генеративных тестов без большой готовой библиотеки и изучить самодостаточные примеры на Zig.
matklad.github.io 256 Lines or Less: Test Case Minimization Property Based Testing and fuzzing are a deep and science-intensive topic. There are enough advanced techniques there for a couple of PhDs, a PBT daemon, and a client-server architecture. But I have this weird parlor-trick PBT library, implementable in a…
  • ❤ 2
  • 👏 2
  • 🤔 2
  • 😢 2
  • 🔥 1
  • 🏆 1
  • 👻 1
  • 😇 1
  • 😨 1
  • 🎅 1
  • 🎄 1
More from @tproger
  1. Sep 29, 202625 российских ИТ-компаний объединились для найма специалистов: ИТ-холдинг Т1 запустил карь…
  2. Sep 29, 2026Что показывает срез вакансий разработчиков в США на 1 сентября 2026 года В срез CronJobs в…
  3. Sep 29, 2026Сентябрь, учебный год, сессия не так далеко, как вы думаете. Это всё про вас? Тогда заглян…
  4. Sep 29, 2026Как строго монотонное время помогает ловить ошибки По документации монотонные часы не идут…
  5. Sep 29, 2026Как перестать доверять ИИ управление многошаговым сценарием Большой системный промпт прово…
  6. Sep 28, 2026Для айтишников выпустят свой сет роллов и за состав можно проголосовать Ёёёёёёё и Yandex C…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →