1 Equivalence Partitions
Identify for equivalence partitions for the code you created in one of the previous weeks.
- Find at least 5 different partitions and for each describe the boundaries of each partition and the values on each side of the boundary.
2 Unit Testing
Use the previously identified partitions to create unit tests that make sure the code works as expected on each side of the boundary.
This mights require you to restructure the code, and/or to add error handling.
3 Integration Testing
Construct 3 flows in a system of your choice and implement a test for these flows.
4 Code Coverage
Generate a coverage report. Is the code well tested? Or?
4 Property Based Testing
Find a library for doing Property Based testing and create 3 tests using this approach.
- Did you find cases not covered by your existing tests?
- With the added tests, did you improve the code coverage?
5 Testing a new System
Imagine you were to implement a completely new system.
- How would you decide the testing strategy?
- What types of tests would you include and why?
- Which if these tests would be mandatory and which would be optional and why?