Рубрика «property-based testing»
Нейросеть написала PR, тесты зелёные, а поведение изменилось. Как я научил CI это ловить
2026-09-30 в 12:31, admin, рубрики: ai-генерированный код, code review, differential testing, github actions, hypothesis, llm, Ollama, property-based testing, python
«По будням в 9:30» → 30 9 * * 1–5: парсер расписаний на русском, который отказывается угадывать
2026-09-28 в 13:46, admin, рубрики: cron, javascript, jsr, MCP, natural language, open source, property-based testing, TypeScript, расписаниеВыражение */15 9-17 * * 1-5 компьютер понимает однозначно, а человек читает с трудом. Особенно это мешает, когда расписание задаёт пользователь: в боте‑напоминалке, в админке, в настройках отчётов. Человек хочет написать «каждые 15 минут с 9 до 18 по будням» и увидеть, что его поняли правильно. Писать для этого форму с пятью выпадающими списками не хочется никому.
Готовых решений для русского языка я не нашёл, поэтому написал своё.
Библиотека называется cronsense. Она переводит расписание, записанное обычными словами на русском или английском, в cron‑выражение и обратно:
Читать полностью »
Аудит алгоритмов: как реализация Boyer-Moore с 190K звёзд на GitHub оказалась brute-force
2026-06-21 в 19:12, admin, рубрики: Boyer-Moore, open source, property-based testing, python, Алгоритмы, баги, строковый поиск, тестированиеВ 2015 году группа исследователей (Flouri et al.) решила проверить реализации классического алгоритма Готоха (1982) для выравнивания биологических последовательностей. Из 10 проверенных реализаций только 2 давали правильный результат. 8 из 31 учебных материалов содержали математическую ошибку.
Я решил проверить, насколько это типично для других классических алгоритмов. Начал с Boyer-Moore (1977), одного из самых известных алгоритмов поиска подстроки.
Методология
Как перестать беспокоиться и начать писать тесты на основе свойств
2018-12-22 в 23:59, admin, рубрики: contracts, property-based testing, tdd, Программирование, Совершенный код, Тестирование IT-систем, Тестирование веб-сервисовВ последнее время все чаще встречаются упоминания о некоем волшебном средстве — тестировании на основе свойств (property based testing, если надо погуглить англоязычную литературу). Большинство статей на эту тему рассказывают о том, какой это классный подход, затем на элементарном примере показывают как написать такой тест используя какой-то конкретный фреймворк, в лучшем случае подсказывают несколько часто встречающихся свойств, и… на этом все заканчивается. Дальше изумленный и воодушевленный читатель пытается применить все это на практике, и упирается в то, что свойства как-то не придумываются. И к большому сожалению часто на этом сдается. В этой статье я постараюсь расставить приоритеты немного по другому. Начну все-таки с более-менее конкретного примера, чтобы объяснить что это за зверь такой. Но пример, надеюсь, не совсем типичный для подобного рода статей. Затем попробую разобрать некоторые проблемы, связанные с этим подходом, и как их можно решить. А вот дальше — свойства, свойства и только свойства, с примерами куда их можно приткнуть. Интересно?
Читать полностью »

