junit-quickcheck VS JQF

Compare junit-quickcheck vs JQF and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
junit-quickcheck JQF
5 3
952 629
- -
7.3 6.3
6 days ago 7 months ago
Java Java
MIT License BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

junit-quickcheck

Posts with mentions or reviews of junit-quickcheck. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-19.
  • Need your feedback on a tool that auto-generates unit tests for java code
    2 projects | /r/java | 19 Jan 2023
    For anyone interested, there's also https://github.com/pholser/junit-quickcheck . Haven't used it myself but looks like an interesting library to explore. It's based on QuickCheck as well AFAIK.
  • Coding Challenge
    3 projects | /r/functionalprogramming | 23 Mar 2022
    Thank you for the insightful reply. I did struggle to convert the original algorithm I wrote (with while loops / continue / break) to a more functional style using unfold, and also faced an issue with the type signatures when I tried to break down the contents of Stream.unfoldRight to multiple functions, which is reflected to the messy state you mentioned. Regarding property based testing, I used junit-quickcheck and the "symmetry" property check was one I meant to write but wasn't quite sure how to create a generator for it. I created an issue to track my attempt to incorporate your suggestions in case you are interested in following this. Thanks again!
  • Does anyone have any advice for writing better Java tests.
    1 project | /r/csMajors | 3 Feb 2022
    A quick Google search shows that java has a library for this (here) but I've never used it in java so can't attest to it.
  • GitHub Copilot for JetBrains and Neovim
    11 projects | news.ycombinator.com | 27 Oct 2021
    QuickcCheck-type tools (generators for tests that know about the edge cases of a domain - e. g. for the domain of numbers considering things like 0, the infinities, various almost-and-just-over powers of two, NaN and mantissas for floats, etc.):

    * QuickCheck: https://hackage.haskell.org/package/QuickCheck

    * Hypothesis: https://hypothesis.readthedocs.io/en/latest/

    * JUnit QuickCheck: https://github.com/pholser/junit-quickcheck

    Fuzz testing tools (tools which mutate the inputs to a program in order to find interesting / failing states in that program). Generally paired with code coverage:

    * American Fuzzy Lop (AFL): https://github.com/google/AFL

    * JQF: https://github.com/rohanpadhye/JQF

    Mutation / Fault based test tools (review your existing unit coverage and try to introduce changes to your _production_ code that none of your tests catch)

    * PITest: https://pitest.org/

  • Fuzzing Java in OSS-Fuzz
    4 projects | news.ycombinator.com | 10 Mar 2021
    If you want an easy way to have better mutation coverage, check out property based testing. Eg junit-quickcheck for Java.

    https://github.com/pholser/junit-quickcheck

JQF

Posts with mentions or reviews of JQF. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-27.
  • CS 6120: Advanced Compilers: The Self-Guided Online Course
    1 project | news.ycombinator.com | 3 Mar 2024
    We are working on projects related with cybersecurity and compilers. A reference we look at is [1] and [2]. I think we can publish the results in the coming months.

    [1] https://github.com/rohanpadhye/jqf/wiki/Fuzzing-a-Compiler

    [2] https://news.ycombinator.com/item?id=36373410

  • GitHub Copilot for JetBrains and Neovim
    11 projects | news.ycombinator.com | 27 Oct 2021
    QuickcCheck-type tools (generators for tests that know about the edge cases of a domain - e. g. for the domain of numbers considering things like 0, the infinities, various almost-and-just-over powers of two, NaN and mantissas for floats, etc.):

    * QuickCheck: https://hackage.haskell.org/package/QuickCheck

    * Hypothesis: https://hypothesis.readthedocs.io/en/latest/

    * JUnit QuickCheck: https://github.com/pholser/junit-quickcheck

    Fuzz testing tools (tools which mutate the inputs to a program in order to find interesting / failing states in that program). Generally paired with code coverage:

    * American Fuzzy Lop (AFL): https://github.com/google/AFL

    * JQF: https://github.com/rohanpadhye/JQF

    Mutation / Fault based test tools (review your existing unit coverage and try to introduce changes to your _production_ code that none of your tests catch)

    * PITest: https://pitest.org/

  • Jazzer brings modern fuzz testing to the JVM
    3 projects | news.ycombinator.com | 10 Feb 2021
    If you are interested in fuzzing your Java code, you should also have a look at the JQF project which directly integrates with junit tests: https://github.com/rohanpadhye/JQF

What are some alternatives?

When comparing junit-quickcheck and JQF you can also consider the following projects:

jqwik - Property-Based Testing on the JUnit Platform

jazzer - Coverage-guided, in-process fuzzing for the JVM

fuzzing - Tutorials, examples, discussions, research proposals, and other resources related to fuzzing

copilot.vim - Neovim plugin for GitHub Copilot

fast-check - Property based testing framework for JavaScript (like QuickCheck) written in TypeScript

copilot-docs - Documentation for GitHub Copilot

libfuzzer-workshop - Repository for materials of "Modern fuzzing of C/C++ Projects" workshop.

fuzzcheck-rs - Modular, structure-aware, and feedback-driven fuzzing engine for Rust functions

PIT - State of the art mutation testing system for the JVM