#quickcheck — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #quickcheck, aggregated by home.social.
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
QuickCheck: Was Kelat the elephant mistreated in an Osaka zoo?
KELAT is one of three Asian elephants – the others being Dara and Amoi – relocated from the Taiping …
#Japan #JP #Osaka #Allegations #animalcruelty #damage #elephant #facebook #Kelat #news #osakanews #Perhilitan #Petition #QuickCheck #socialmedia #StarVerified #taipingzoo #TennojiZoo #Trimming #TrueorNot #Tusk #VeterinaryTreatment #大阪 #大阪府
https://www.alojapan.com/1475198/quickcheck-was-kelat-the-elephant-mistreated-in-an-osaka-zoo/ -
https://www.alojapan.com/1475198/quickcheck-was-kelat-the-elephant-mistreated-in-an-osaka-zoo/ QuickCheck: Was Kelat the elephant mistreated in an Osaka zoo? #Allegations #AnimalCruelty #damage #elephant #facebook #Japan #Kelat #news #Osaka #OsakaNews #Perhilitan #Petition #QuickCheck #SocialMedia #StarVerified #TaipingZoo #TennojiZoo #Trimming #TrueOrNot #Tusk #VeterinaryTreatment #大阪 #大阪府 KELAT is one of three Asian elephants – the others being Dara and Amoi – relocated from the Taiping Zoo and Night Safari to Tennoji Zoo in Osaka, J
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #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 -
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 -
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
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 ✂️ 🔢 🤓 -
Here's a preprint of the paper I wrote up for Olivier's festscrift 🎉 🍾
Property-Based Testing of OCaml 5's Runtime System:
Fun and Segfaults with Interpreters and State Transition FunctionsWe describe our effort on using property-based testing to test the OCaml 5 multicore runtime system. In particular, we cover three case studies of increasing complexity that utilize a model-based state machine framework: (a) Testing the Array module, (b) testing weak hash sets, and (c) testing the garbage collector, with the latter two behaving non-deterministically from the point of view of the blackbox testing process. We evaluate the approach empirically by analyzing the bugs found, and discuss both limitations and challenges we have met underway.
https://janmidtgaard.dk/papers/Midtgaard%3aOLIVIERFEST25.pdf
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Property-based testing in Haskell with QuickCheckfalsifyA few days ago, Edsko de Vries of Well-Typed published an in-depth article on property-based software testing, with a focus on the concept of “shrinking.”
In brief, property-based testing is sort-of like fuzz testing but for algorithms and protocols. Like fuzz testing, random test cases are procedurally generated, but unlike fuzz testing, the test cases are carefully designed to verify whether a software implementation of an algorithm satisfies a specific property of that algorithm, such as:
- “this function always fails if the index is larger than the array”
- “this function always returns a result in
n*log(n)number of iterations for input dataset of sizen“ “the sequence of log messages is guaranteed to obey this rules of this particular finite-state automata: (connect | fail) -> (send X | fail) -> (receive Y | receive Z | fail) -> success .”
Shrinking is the process of simplifying a failed test case. If you have found some input that makes your function return a value when it should have thrown an exception, or produce a result that does not satisfy some predicate, then that input is a “counterexample” to your assertion about the properties of that function. And you may want to be able to “shrink” that counterexample input to see if you can cause the function to behave incorrectly again but with a simpler input. The “QuickCheck“ library provides a variety of useful tools to let you define property tests with shrinking.
Defining unit tests with such incredible rigor takes quite a lot of time and effort, so you would probably do not want to use property-based testing for your ordinary, every-day software engineering. If you are, for example, being scrutinized by the US Department of Government of Efficiency, you would likely be fired if you were to take so much time to write such high-quality software with such a strong guarantee of correctness.
But if you are, for example, designing a communication protocol that will be used in critical infrastructure for the next 10 or 20 years and you want to make sure the reference implementation of your protocol is without contradictions, or if you are implementing an algorithm where the mathematical properties of the algorithm fall within some proven parameters (e.g. computational complexity), property-based testing can give you a much higher degree of confidence in the correctness of your algorithm or protocol specification.
#tech #software #haskell #WellTyped #QuickCheck #UnitTesting #PropertyTesting
-
Property-based testing in Haskell with QuickCheckfalsifyA few days ago, Edsko de Vries of Well-Typed published an in-depth article on property-based software testing, with a focus on the concept of “shrinking.”
In brief, property-based testing is sort-of like fuzz testing but for algorithms and protocols. Like fuzz testing, random test cases are procedurally generated, but unlike fuzz testing, the test cases are carefully designed to verify whether a software implementation of an algorithm satisfies a specific property of that algorithm, such as:
- “this function always fails if the index is larger than the array”
- “this function always returns a result in
n*log(n)number of iterations for input dataset of sizen“ “the sequence of log messages is guaranteed to obey this rules of this particular finite-state automata: (connect | fail) -> (send X | fail) -> (receive Y | receive Z | fail) -> success .”
Shrinking is the process of simplifying a failed test case. If you have found some input that makes your function return a value when it should have thrown an exception, or produce a result that does not satisfy some predicate, then that input is a “counterexample” to your assertion about the properties of that function. And you may want to be able to “shrink” that counterexample input to see if you can cause the function to behave incorrectly again but with a simpler input. The “QuickCheck“ library provides a variety of useful tools to let you define property tests with shrinking.
Defining unit tests with such incredible rigor takes quite a lot of time and effort, so you would probably do not want to use property-based testing for your ordinary, every-day software engineering. If you are, for example, being scrutinized by the US Department of Government of Efficiency, you would likely be fired if you were to take so much time to write such high-quality software with such a strong guarantee of correctness.
But if you are, for example, designing a communication protocol that will be used in critical infrastructure for the next 10 or 20 years and you want to make sure the reference implementation of your protocol is without contradictions, or if you are implementing an algorithm where the mathematical properties of the algorithm fall within some proven parameters (e.g. computational complexity), property-based testing can give you a much higher degree of confidence in the correctness of your algorithm or protocol specification.
#tech #software #haskell #WellTyped #QuickCheck #UnitTesting #PropertyTesting
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
[Перевод] Исследуем монады в Rust через тестирование на основе свойств
В педагогике программирования монады занимают место мистического объекта из мира функционального программирования, который трудно понять и еще труднее объяснить. Стереотип о сложности объяснения монад заключается в том, что они делятся на две категории: либо сравнение с каким-то продуктом питания , либо написание сложного математического жаргона, в чем проблема?
-
Over the past couple of days, I've been scratching a 3-year old QCheck(2) itch
https://github.com/c-cube/qcheck/pull/319
It's nice to finally make progress on it! 😃
#ocaml #quickcheck #pbt #fp -
I've written up part 2 on our effort to utilize property-based testing to stress test the OCaml 5 run time system. Happy Christmas reading! 🎄🎅 🎁 😄
https://tarides.com/blog/2024-12-23-multicore-property-based-tests-for-ocaml-5-challenges-and-lessons-learned/
#ocaml #pbt #fp #functionalprogramming #quickcheck -
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
I'll visit Paris this week to give a talk about our efforts to drill OCaml 5 with property-based tests: https://sites.google.com/view/gdr-gpl-mtv2/manifestations-mtv2/21-11-2024
Ping me if we should hook up for a coffee or a beer... ☕🍺
-
This description from a crash fix PR yesterday by Stephen Dolan put a smile on my face: 😀
"With the old code, the following sequence of unfortunate events can occur, if you are very, very unlucky (or you are @jmid with multicoretests, manufacturing bad luck on an industrial scale):"
https://github.com/ocaml/ocaml/pull/13549
#quickcheck #pbt #propertybasedtesting -
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
Discover the power of property-based testing in R with the #quickcheck package! Seamlessly integrates with #testthat and offers a variety of generators for atomic vectors, lists, and tibbles. Perfect for ensuring your code's reliability. Check it out: https://github.com/armcn/quickcheck #rstats #rprogramming #testing
-
I found the problem!
The default number of times QuickCheck will shrink a test case is "maxBound :: Int" or 9223372036854775807 shrinks.
One of my shrink functions was returning the same input and telling #QuickCheck the new value was smaller.
When an exception was thrown in the test case, QuickCheck would try to find a smaller failing value, and I was never patient enough to wait for 9223372036854775807 shrinks.
-
I found the problem!
The default number of times QuickCheck will shrink a test case is "maxBound :: Int" or 9223372036854775807 shrinks.
One of my shrink functions was returning the same input and telling #QuickCheck the new value was smaller.
When an exception was thrown in the test case, QuickCheck would try to find a smaller failing value, and I was never patient enough to wait for 9223372036854775807 shrinks.
-
Can anyone recommend some projects that actually use #PropertyBasedTesting in the wild (specifically, I'm looking for more realistic usage than the countless tutorials that go as far as "here are some properties that test if a list is sorted")?
I'm familiar with Scott Wlaschin's series, which is great, but I'd really like to see some production examples.
-
The funny story of a bug starring Unicode, C, regexps, libunistring, and ASCII:
https://issues.guix.gnu.org/48114#4All this because of ⒒ And thanks to #QuickCheck.
-
It can be really hard to predict how to test some software's actions without replicating its implementation. That strategy is a problem: it doesn't test whether it functions correctly. John Hughes (#haskell, #quickcheck) addressed this in a talk last year. https://www.infoq.com/news/2020/02/property-based-testing-guide/
-
"Of course there are many excellent #QuickCheck tutorials out there already. However I found all of them either assumed too much #Haskell knowledge. I hope this post closes a gap in the current menu of tutorials..."
-
Taking time to learn about #QuickCheck in #Haskell today.
-
I just learned that the #QuickCheck implementation for #Coq is called QuickChick… oh boy 😸