Что такое property-based testing?

Senior
201 просмотров
AFK Offer AI

Property-based testing — вместо конкретных примеров описываем свойства системы, фреймворк генерирует сотни случайных входных данных. Пример: "сортировка должна возвращать список той же длины" — фреймворк проверит это на 1000 случайных списках. Инструменты: Hypothesis (Python), fast-check (JS), jqwik (Java), QuickCheck (Haskell — прародитель). Хорошо для: алгоритмов, парсеров, математических функций, где сложно придумать все edge cases. Находит баги, которые никогда не пришли бы в голову.

Следующий вопрос

Как тестировать конкурентный доступ к данным (transactions isolation)?