Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Experiment to start adding fuzzing tests to the project. #536

Open
Rosalita opened this issue Jun 1, 2022 · 0 comments
Open

Experiment to start adding fuzzing tests to the project. #536

Rosalita opened this issue Jun 1, 2022 · 0 comments
Labels
testing Includes all kinds of automated tests, the way that we run them and the infrastructure around them.

Comments

@Rosalita
Copy link
Contributor

Rosalita commented Jun 1, 2022

A new way of testing called fuzzing was added in Go 1.18 (see tutorial https://go.dev/doc/tutorial/fuzz)

Both myself and lmars think adding fuzz tests to the project is a good idea.

A good starting point for fuzzing would be to consider user defined strings. One place that a user can define a string is the name they provide when they create a channel.

I would propose as an experiment, we add a single fuzz test for channel.Get() so that we can learn more about this testing technique, assess if fuzz tests are suitable for this project and (if they are) create a foundation upon which more fuzzing tests can be added. Note that fuzz tests are long running tests which are started and left running for a duration of time (similar to soak tests), so it will not be practical to run them in the CI pipeline.

Acceptance criteria:

  1. Implement a new fuzzing test for channel.Get()
  2. Run the new fuzz test and raise any new bugs which are discovered by the test.
  3. Update the tests section of CONTRIBUTING.md to explain how the fuzz test can be run locally.

┆Issue is synchronized with this Jira Task by Unito

@Rosalita Rosalita added the tests label Jun 1, 2022
@QuintinWillison QuintinWillison added testing Includes all kinds of automated tests, the way that we run them and the infrastructure around them. and removed tests labels Dec 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
testing Includes all kinds of automated tests, the way that we run them and the infrastructure around them.
Development

No branches or pull requests

2 participants