An open API service indexing awesome lists of open source software.

https://github.com/nanofuzz/hypothesis-2024-study

Examples for a hypothetical user study
https://github.com/nanofuzz/hypothesis-2024-study

Last synced: about 2 months ago
JSON representation

Examples for a hypothetical user study

Awesome Lists containing this project

README

          

# hypothesis-study-2024

Thank you for participating in our study. Today we will be testing several Python programs using Hypothesis, which you might have used before. The purpose of this study is not to assess your programming or testing skills; rather, we want to understand how testing tools are used.

Each program has a comment that describes the inputs the program allows and its expected behavior. In some cases, inputting allowed values to a program might result in the program behaving contrary to its specification. Your task is to find the inputs, if any, that cause the program to behave contrary to its specification. One example could be, “when I input `a=0` and any value for `b` then `foo()` behaves contrary to its specification.” At the end of each task, we will ask you to describe the bugs you found, if any.

When you are satisfied you found all the bugs (if any) using the testing tool, let me know. I will ask you to describe them and your level of confidence in the space we provide below the program, save, commit, and push to the repo. Once you move to the next program, you can’t go back.

There are no syntax errors in these programs. You don’t need to test inputs not allowed by the program.

Before you use the testing tool, we will show a brief tutorial. Please do the tutorial, even if you are familiar with the tool. We will tell you which testing tool to use for each program. Use only that testing tool for that program. Do not try to repair or edit the program.

During the study, we want you to say out loud what you are thinking and doing as you go about your work. If you stop talking, we will remind you to resume by saying something like “please continue speaking.”

For each program, we will stop you after thirty minutes, but we won’t warn you if you are about to run out of time. It’s ok to run out of time.

In the root of the repository is a Python cheat sheet in case you need help with Python syntax. You are not allowed to use the internet or take breaks during this study. Please take a moment to put your phone in do not disturb mode.