property-based-testing

4 posts

100 прогонов — это ложь: как на самом деле определять размер property-based тестов

Стандартные 100 примеров в property-based testing — это социальный компромисс, а не статистическая стратегия. Вот как выбрать количество прогонов, соответствующее вашим потребностям в уверенности и бюджету CI.

Если вы запускаете property-based тесты со стандартными 100 примерами, вы получаете худшее из двух миров. Ваш CI медленнее, чем нужно, и вы всё равно не ловите…

Тесты на основе свойств в Rust находят баги, которые пропускают ваши юнит-тесты

Тестирование на примерах покрывает только те входные данные, о которых вы подумали. Тестирование на основе свойств генерирует случайные данные, проверяет инварианты и сокращает ошибки до минимальных контрпримеров.

Вы написали функцию . Вы протестировали её с и . Тест проходит. Вы выкатываете в продакшн. Пользователь передаёт срез из одного элемента. Ваша функция теряет…

AI Safety Stack: types, contracts, property tests и mutation gates

Если вы хотите, чтобы AI-generated code выдерживал production, одного code review недостаточно. Нужен многослойный safety stack: от type constraints до mutation testing и runtime containment.

Самое опасное в AI-generated code не в том, что он всегда неправильный. Самое опасное в том, что он слишком часто выглядит достаточно правдоподобно, чтобы его…

Почему сильные инженерные идеи оставались нишевыми, пока AI не сделал их экономически реальными

Design by contract, property-based testing, mutation testing и model checking не были плохими идеями. Их было слишком дорого поддерживать с точки зрения специализированных знаний. AI меняет это уравнение.

В software engineering полно идей, которые кажутся очевидно правильными в ту же секунду, когда ты их читаешь. Разумеется, contracts должны определять, что…