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, 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
Tujuh Pegawai PBT Didakwa Terima Rasuah RM15,000 Untuk Lindungi Syarikat | Oh! Tidak - Oh! Media

Terima wang setiap bulan untuk lindungi syarikat tertentu. - Baca artikel penuh di Oh! Media untuk info lanjut.

Tujuh Pegawai PBT Didakwa Terima Rasuah RM15,000 Untuk Lindungi Syarikat | Oh! Media
Enam pegawai PBT, seorang bekas pegawai ditahan SPRM

Enam pegawai PBT, seorang bekas pegawai ditahan SPRM MG Perak

MG Perak
Testing Parsers Thoroughly with Property-Based Testing

Property-based testing is effective at revealing unconsidered edge cases! I compare unit testing to property-based testing and discuss my experience implementing property-based testing for a parser.

Parker's Digital Domain
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

Gave a talk yesterday:
"Property Based Testing to verify a pipelined CPU design (hardware)"
at the New England Programming Languages and Systems Symposium (NEPLS),
about verifying my Fife RISC-V CPU using U.Cambridge's TestRIG (which uses Haskell's QuickCheck) and RISC-V International's RISC-V ISA Formal Specification (written in Sail)

https://nepls.org/
https://nepls.org/Events/36/

#NEPLS #FIFE #RISCV #RVI #Haskell #QuickCheck #TestRIG #PBT #Sail

New England Programming Languages and Systems Symposium Series (NEPLS)

Ex falso quodlibet - Testing semantic preservation

About the efficacy of Property Based Testing. According to the study it's better than I (as a supporter) would have guessed.
https://dl.acm.org/doi/10.1145/3764068

#propertyBasedTesting #pbt

Started hacking on a shrinker (reducer) of floats for QCheck a while back - and struggled. Yesterday I finally made some progress and now opened a PR for it:
https://github.com/c-cube/qcheck/pull/357 βœ‚οΈ πŸ”’ πŸ€“

#ocaml #pbt #quickcheck

Add QCheck.Shrink.float by jmid Β· Pull Request #357 Β· c-cube/qcheck

This adds a float shrinker for QCheck. Fixes #89. After having experimented, struggled, and abandoned a different binary design based on Float.frexp, this shrinks towards 1. or -1., based on the p...

GitHub