#propertybased_testing — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #propertybased_testing, aggregated by home.social.
-
Hypothesis: тесты, которые сами ищут контрпримеры к вашему коду
Обычные тесты находят только ожидаемые ошибки. В статье разберём, как Hypothesis сам ищет контрпримеры и сокращает их до минимального сбоя.
https://habr.com/ru/companies/otus/articles/1058390/
#Hypothesis #propertybased_testing #тестирование_свойств #Python #автоматизация_тестирования #генерация_данных #контрпримеры #shrinking #statefulтестирование #pytest
-
Property-based тестирование: как находить баги, которые вы не придумали
Классический unit-тест — это «вход X → ожидаю Y». Вы придумали кейс, зафиксировали ожидание, поехали. Проблема в том, что баги обычно живут не в кейсах, которые вы придумали, а ровно в тех, до которых не дотянулась фантазия: пустая строка, эмодзи, дубликаты, отрицательный ноль, перевод строки внутри значения, целочисленное переполнение. Property-based testing (PBT) переворачивает подход: вы описываете свойство — утверждение, которое должно быть истинно для любого корректного входа, — а фреймворк сам генерирует сотни случайных входов и пытается это свойство опровергнуть. Нашёл контрпример — ужимает его до минимального («shrinking») и показывает вам.
https://habr.com/ru/articles/1050850/
#propertybased_testing #Hypothesis #тестирование #QA #автотесты #Python #shrinking #fastcheck
-
Аудит алгоритмов: как реализация Boyer-Moore с 190K звёзд на GitHub оказалась brute-force
Проверил реализацию Boyer-Moore в TheAlgorithms/Python (190K+ звёзд). Оказалось, что сдвиг bad character записывается в переменную for-цикла, что в Python не имеет эффекта. Алгоритм выдаёт правильные результаты, но работает как brute-force O(nm) вместо O(n/m). Плюс ещё две находки: бесконечный цикл в типичных реализациях full BM и ошибка в оригинальной статье 1977 года, которую исправили только в 1980-м.
https://habr.com/ru/articles/1050180/
#алгоритмы #BoyerMoore #Python #тестирование #баги #open_source #propertybased_testing #строковый_поиск
-
Property-based testing на практике: как находить баги, о которых вы не подумали
Тридцать зелёных юнит‑тестов ещё не означают, что код готов к продакшену. Баги часто прячутся в данных, которые никто не догадался проверить вручную: пустых строках, дубликатах, редком Unicode и неожиданных последовательностях операций. Разбираемся, как Hypothesis генерирует такие случаи, проверяет свойства вместо отдельных примеров и сводит падение к минимальному контрпримеру.
https://habr.com/ru/companies/otus/articles/1044964/
#propertybased_testing #Hypothesis #автоматизация_тестирования #генерация_тестовых_данных #Python #инварианты #контрпримеры #statefulтестирование #стратегии_Hypothesis #поиск_багов
-
[Перевод] Claude против краевых случаев: как LLM-агент нашёл баги в NumPy и других Python-библиотеках
Исследователи Anthropic собрали LLM-агента, который читает код Python-библиотек, сам формулирует свойства, пишет property-based тесты на Hypothesis и ищет контрпримеры. В результате он нашёл баги в NumPy, aws-lambda-powertools, tokenizers и других проектах — часть патчей уже приняли мейнтейнеры. Разбираемся, как работает такой агент, почему property-based тестирование хорошо подходит для LLM и где у подхода пока границы.
https://habr.com/ru/companies/otus/articles/1045852/
#propertybased_testing #тестирование_на_основе_свойств #Claude #LLMагенты #hypothesis #автоматизация_тестирования #поиск_багов #pythonбиблиотеки #NumPy