Профиль навыка

Property-Based Testing

Hypothesis, QuickCheck, генеративное тестирование, shrinking, invariants

Тестирование и QA Стратегия тестирования

Ролей

8

где встречается этот навык

Грейдов

5

сформированная дорожка роста

Обязательных требований

25

ещё 15 — необязательные

Домен

Тестирование и QA

Группа

Стратегия тестирования

Последнее обновление

17.03.2026

Как использовать

Выберите текущий грейд и сравните ожидания. Карточки ниже покажут, что нужно закрыть для следующего уровня.

Чего ждут на каждом уровне

Таблица показывает, как меняется глубина владения навыком от Junior до Principal.

Роль Обязательность Описание
Backend Developer (Elixir) Понимает основы property-based тестирования с StreamData и ExUnitProperties. Пишет базовые property-тесты для чистых функций Elixir. Следует командным соглашениям по определению генераторов и структуре тестов.
Backend Developer (Rust) Понимает основы property-based тестирования с крейтами proptest и quickcheck. Пишет базовые property-тесты, используя систему типов Rust для генерации входных данных. Следует командным рекомендациям по композиции стратегий.
Backend Developer (Scala) Понимает основы property-based тестирования с ScalaCheck. Пишет базовые генераторы и свойства для типов данных Scala. Следует командным практикам проверки алгебраических законов и инстансов тайпклассов Cats-effect.
Compiler Engineer Знает базовые концепции property based testing для compiler engineer и умеет применять их в типовых задачах. Использует стандартные инструменты и следует установленным практикам команды. Понимает когда и почему применяется данный подход.
Language Tooling Engineer Понимает основы property-based тестирования для языковых инструментов. Пишет базовые property-тесты для round-trip парсинга и инвариантов AST. Следует командным соглашениям по построению генераторов синтаксических структур.
QA Automation Engineer Обязателен Понимает основы property-based тестирования для автоматизации QA. Пишет базовые property-тесты с генераторами данных для типичных входных доменов. Следует рекомендациям команды по интеграции property-тестов в существующие тест-сьюты.
QA Security Engineer Обязателен Понимает основы property-based тестирования для проверки безопасности. Применяет базовые техники фаззинга для валидации санитизации ввода и граничных свойств. Следует командным рекомендациям по определению инвариантов безопасности в тестах.
Smart Contract Developer Понимает основы property-based тестирования для смарт-контрактов. Пишет базовые инвариантные тесты с использованием Foundry fuzz и Echidna. Следует командным практикам определения свойств состояния контрактов и проверки утверждений.
Роль Обязательность Описание
Backend Developer (Elixir) Реализует property-based тесты в Elixir с использованием StreamData. Определяет генераторы для базовых типов и Ecto-схем, пишет свойства для проверки инвариантов бизнес-логики. Интегрирует StreamData с ExUnit через use ExUnitProperties для автоматической генерации тест-кейсов.
Backend Developer (Rust) Применяет property-based тестирование в Rust через proptest крейт: генерация случайных входных данных с Strategy, проверка инвариантов бизнес-логики. Пишет shrinkable-стратегии для доменных типов и использует prop_assert! для верификации свойств.
Backend Developer (Scala) Применяет property-based тестирование в Scala через ScalaCheck: определяет свойства для чистых функций, генерирует тестовые данные через Arbitrary и Gen. Интегрирует ScalaCheck с ScalaTest/MUnit, понимает концепцию shrinking для минимизации failing cases в доменных моделях.
Compiler Engineer Уверенно применяет property based testing для compiler engineer при решении нестандартных задач. Самостоятельно выбирает оптимальный подход и инструменты. Анализирует trade-offs и предлагает улучшения существующих решений.
Language Tooling Engineer Самостоятельно проектирует property-тесты для проходов компилятора и трансформаций кода. Создаёт кастомные генераторы для сложных структур AST. Интегрирует property-based тест-сьюты в CI/CD для обнаружения семантических регрессий.
QA Automation Engineer Обязателен Самостоятельно разрабатывает property-based тест-сьюты с кастомными генераторами и стратегиями сжатия. Применяет техники проектирования тестов для максимального покрытия входного пространства. Интегрирует property-тесты в CI/CD и покрывает сложные краевые случаи.
QA Security Engineer Обязателен Применяет property-based testing для security: генерация random inputs для fuzzing, invariant checking для authorization rules. Использует Hypothesis/QuickCheck для security properties.
Smart Contract Developer Самостоятельно разрабатывает инвариантные тест-сьюты для протоколов смарт-контрактов с Foundry и Echidna. Проектирует property-утверждения для балансов токенов, контроля доступа и переходов состояний. Интегрирует фазз-кампании в CI/CD.
Роль Обязательность Описание
Backend Developer (Elixir) Обязателен Проектирует комплексное property-based тестирование для Elixir-проектов через StreamData. Создаёт кастомные генераторы для сложных доменных объектов, реализует stateful-тесты для GenServer. Применяет shrinking для минимизации failing-кейсов, тестирует Ecto-запросы и протоколы.
Backend Developer (Rust) Обязателен Разрабатывает комплексные proptest-стратегии для Rust-сервисов: композиция стратегий для сложных доменных объектов, stateful-тестирование через prop_state_machine. Интегрирует fuzzing через cargo-fuzz и AFL для discovery нестабильных путей и тестирования unsafe-кода.
Backend Developer (Scala) Обязателен Проектирует стратегию property-based тестирования для Scala-сервисов: custom generators для доменных типов, stateful property testing для Akka Actors. Реализует комбинаторные генераторы через ScalaCheck или ZIO Test Gen, тестирует инварианты бизнес-логики и сериализацию/десериализацию Protobuf-сообщений.
Compiler Engineer Экспертно применяет property based testing для compiler engineer для проектирования сложных систем. Оптимизирует существующие решения и предотвращает архитектурные ошибки. Проводит code review и обучает коллег лучшим практикам.
Language Tooling Engineer Обязателен Проектирует стратегию property-based тестирования для всего языкового тулчейна. Реализует автоматическую верификацию корректности компилятора, инвариантов оптимизатора и свойств кодогенерации. Менторит команду по эффективному проектированию генераторов и сжатию.
QA Automation Engineer Обязателен Проектирует стратегию property-based тестирования на уровне организации для всех уровней тестирования. Реализует автоматическое model-based тестирование и stateful-верификацию свойств. Оптимизирует пирамиду тестов, заменяя избыточные примерные тесты свойствами. Менторит команду.
QA Security Engineer Обязателен Проектирует property-based security tests: stateful testing для authentication flows, model-based testing для RBAC, generative fuzzing для input validation.
Smart Contract Developer Обязателен Проектирует комплексную стратегию инвариантного тестирования для DeFi-протоколов и сложных контрактных систем. Реализует multi-contract stateful фаззинг с Echidna и Foundry. Оптимизирует конфигурации фазз-кампаний для максимального обнаружения уязвимостей. Менторит команду.
Роль Обязательность Описание
Backend Developer (Elixir) Обязателен Внедряет property-based тестирование как стандартную практику во всех Elixir-проектах. Определяет стратегию тестирования через StreamData для критических модулей, обучает команду написанию свойств и генераторов. Создаёт библиотеку общих генераторов для доменных объектов организации.
Backend Developer (Rust) Обязателен Определяет стандарты property-based тестирования для Rust-платформы: обязательные proptest-сьюты для критической бизнес-логики, CI-интеграция с regression-файлами. Разрабатывает shared-библиотеки стратегий для доменных типов и стандарты fuzzing-покрытия для unsafe-кода.
Backend Developer (Scala) Обязателен Определяет стандарты property-based тестирования в Scala-команде: обязательные property-тесты для codec-ов и сериализации, библиотека общих генераторов. Ревьюит качество свойств, внедряет ZIO Test для effect-based property testing и интегрирует генераторы с контрактными тестами между сервисами.
Compiler Engineer Устанавливает стандарты применения property based testing для compiler engineer в команде и принимает архитектурные решения. Определяет технический roadmap с учётом данного навыка. Менторит senior инженеров и влияет на практики смежных команд.
Language Tooling Engineer Обязателен Определяет стратегию property-based тестирования на уровне продукта для платформ языковых инструментов. Устанавливает стандарты качества для верификации компилятора и парсера с помощью формальных свойств. Внедряет культуру specification-driven тестирования в инженерной организации.
QA Automation Engineer Обязателен Определяет стратегию property-based тестирования на уровне продукта для обеспечения качества. Устанавливает стандарты для спецификации свойств, библиотек генераторов и метрик покрытия. Внедряет культуру shift-left тестирования, встраивая property-based верификацию на ранних этапах жизненного цикла разработки.
QA Security Engineer Обязателен Определяет стандарты property-based security testing: templates для типовых security properties (auth, authz, input validation). Внедряет в security testing workflow.
Smart Contract Developer Обязателен Определяет testing strategy на уровне продукта. Формирует стандарты quality assurance. Внедряет shift-left testing culture.
Роль Обязательность Описание
Backend Developer (Elixir) Обязателен Определяет стратегию property-based тестирования для Elixir-платформы организации. Разрабатывает фреймворк на StreamData с генераторами для всех доменов, интегрирует stateful-тестирование для распределённых систем. Внедряет model-based testing для верификации OTP-поведений.
Backend Developer (Rust) Обязателен Формирует стратегию формальной верификации и property-testing в организации: комбинация proptest, cargo-fuzz и Kani (bounded model checking) для критических компонентов. Определяет процессы continuous fuzzing через OSS-Fuzz, стандарты доказательства корректности и coverage-метрики.
Backend Developer (Scala) Обязателен Формирует культуру property-based тестирования на уровне организации: стандарты для Scala-проектов, общие библиотеки генераторов доменных типов. Определяет интеграцию property-testing с formal verification подходами, внедряет mutation testing через Stryker4s для оценки эффективности тестовых свойств.
Compiler Engineer Формирует стратегию применения property based testing для compiler engineer на уровне организации. Определяет best practices и влияет на выбор технологий за пределами своей команды. Является признанным экспертом в данной области.
Language Tooling Engineer Обязателен Определяет QA-стратегию организации. Формирует quality engineering culture. Внедряет platform-решения для тестирования.
QA Automation Engineer Обязателен Определяет QA-стратегию организации. Формирует quality engineering culture. Внедряет platform-решения для тестирования.
QA Security Engineer Обязателен Проектирует generative security testing: AI-assisted fuzzing, automated property discovery, model-based security verification. Определяет organizational adoption strategy.
Smart Contract Developer Обязателен Определяет QA-стратегию организации. Формирует quality engineering culture. Внедряет platform-решения для тестирования.

Сообщество

👁 Следить ✏️ Предложить изменение Войдите, чтобы предлагать изменения
📋 Предложения
Пока нет предложений для Property-Based Testing
Загрузка комментариев...