Spent a couple hours today working with a colleague on a property test using #eris. We found one bug in the implementation of our oracle, which proved that our production code was actually doing the right thing, though it's unclear if that was deliberate or accidental. After that we increased the number of samples to 1000 which actually seems to have uncovered another bug.

Really cool to finally have a good use case for property based testing.

#php #propertybasedtesting #pbt #phpunit

"Hegel is a universal property-based testing protocol and family of libraries, built on Hypothesis."

https://hegel.dev/

#rustlang #golang #propertyBasedTesting

Hegel

A universal property-based testing protocol and family of libraries, built on Hypothesis

Hegel

Hegel, a universal property-based testing protocol and family of PBT libraries

https://hegel.dev

#HackerNews #Hegel #PBT #propertybasedtesting #softwaredevelopment #testinglibraries

Hegel

A universal property-based testing protocol and family of libraries, built on Hypothesis

Hegel
GitHub - antithesishq/bombadil: Property-based testing for web UIs, autonomously exploring and validating correctness properties, finding harder bugs earlier

Property-based testing for web UIs, autonomously exploring and validating correctness properties, finding harder bugs earlier - antithesishq/bombadil

GitHub

Надежный код: как писать тесты, чтобы запускать фичи в продакшен одним днем

Писать или не писать тесты — выбор очевидный. Конечно, писать. Но если проект масштабный, одних unit‑тестов будет недостаточно: они бессильны на границах модулей, в интеграциях и пользовательских сценариях, а значит в этих местах будут пролезать баги. Такой код будет сложно поддерживать, вносить в него изменения и получать ожидаемый результат. В статье поговорим про разные стратегии тестирования под разные риски и кейсы. Поднимемся над привычными unit‑тестами и заглянем, что там есть еще. Спойлер: а еще там workflow‑, integration‑, property‑based‑ и resilience‑тесты.

https://habr.com/ru/companies/mindbox/articles/1000090/

#C# #unittesting #integration_testing #propertybasedtesting #pure_functions #clean_architecture

Надежный код: как писать тесты, чтобы запускать фичи в продакшен одним днем

Писать или не писать тесты — выбор очевидный. Конечно, писать. Но если проект масштабный, одних unit‑тестов будет недостаточно: они бессильны на границах модулей,...

Хабр

Нечёткое тестирование свойств

Есть две категории программистов. Первая пишет тесты, вторая работает. Шутейка, конечно, на троечку, но в каждой байке, застрявшей в пабликах мёртвых заархивированных форумов, под пылью и нафталином, — можно нащупать слой гранита настоящей правды. Модное ныне «покрытие кода тестами» напоминает попытку оклеить айсберг новогодней мишурой — вроде и весело, но Титаник все равно пойдет на дно. Я собираюсь рассказать о том, как правильно тестировать код в изоляции (интеграционные тесты — зверь из соседнего вольера, и о нем — в другой раз). Для этого нам потребуется пара определений. Фаззинг (от английского fuzzing ) — это способ тестирования, при котором программе скармливают огромные объемы случайных, полуслучайных или вообще намеренно испорченных данных, с надеждой выявить уязвимости или баги. Изначально этот метод применялся в академической среде для поиска дыр в безопасности, но быстро перекочевал в руки здравомыслящих разработчиков. Property-based testing , в свою очередь, представляет собой подход к тестированию, где вместо проверки конкретных примеров типа «дважды два — четыре» мы формулируем общие свойства системы. Например: «если функция принимает список и возвращает список, то длина результата не должна превышать длину входа». А дальше уже инструмент генерирует тысячи, миллионы вариантов входных данных и проверяет, соблюдается ли это условие. Taste it!

https://habr.com/ru/articles/983538/

#propertybasedtesting #fuzzing #testing

Нечёткое тестирование свойств

Есть две категории программистов. Первая пишет тесты, вторая работает. Шутейка, конечно, на троечку, но в каждой байке, застрявшей в пабликах мёртвых заархивированных форумов, под пылью и...

Хабр
So what have you been up to lately, Jan?
Meh, some renaming 🐫🎄🎅
https://discuss.ocaml.org/t/ann-qcheck-0-90-the-great-renaming/17613
#ocaml #quickcheck #pbt #propertybasedtesting
[ANN] QCheck 0.90: The Great Renaming

It is my pleasure to announce release 0.90 of the QCheck packages. QCheck is an OCaml library for randomized property-based testing in the style of Haskell’s QuickCheck. Release 0.90 · c-cube/qcheck · GitHub It has been over 12 years and 40 releases since @c-cube released version 0.1 back in October 2013. Over this period QCheck has grown organically with new combinators on a “by-need” basis and with a separate QCheck2 module offering generators with integrated shrinking. This has unfort...

OCaml
Ah, the riveting world of property-based testing for Python—because who wouldn't want to spend their day configuring test settings and suppressing health checks? 🤦‍♂️ Apparently, the key to a fulfilling life is exploring the endless menus of #Hypothesis documentation while debating if Auto lightdark mode is really the pinnacle of UI innovation. 🚀
https://hypothesis.readthedocs.io/en/latest/ #propertybasedtesting #Python #UIinnovation #softwaretesting #HackerNews #ngated
Hypothesis 6.151.9 documentation

Hypothesis 6.151.9 documentation