-
Notifications
You must be signed in to change notification settings - Fork 428
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
33 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Property-based testing in Python using Hypothesis | ||
|
||
## Names and KTH ID | ||
|
||
- Sam Khosravi ([email protected]) | ||
- Atheer Salim ([email protected]) | ||
|
||
## Deadline | ||
- Week 2 | ||
|
||
## Category | ||
- Presentation | ||
|
||
## Description | ||
|
||
We want to explain the topic of property-based testing, | ||
where the coder defines the properties that the test cases must satisfy, | ||
which then automatically generates test cases that enforce these properties. | ||
We will look at how this is done in practice in Python using Hypothesis, | ||
which is a library for creating unit tests in Python, based on property-based testing. | ||
Instead of normal example-based testing, which we have seen in school where we manually define input-output pairs, | ||
property-based testing instead tests a wider range of inputs to make sure that the code keeps true to the properties the coder has defined. | ||
|
||
**Relevance** | ||
|
||
Usually, example based testing is used when writing unit tests, where the programmer has to come up with various test inputs and define what the expected results are. | ||
This is tedious and error-prone in the long run, thus one can utilize property-based testing to speed up the processes. | ||
Property-based testing also explores more inputs and conditions, which makes it easier to uncover edge cases. | ||
This is relevant to DevOps as it concerns test automation as well as being able to significantly enhance the testing suite. |