This repository includes the practical assignments of the course EST (source repository). All code is written in Java 11
.
Each of the eight exercises contains a problem description. For each problem test cases are composed to detect bugs in the code provided. This is achieved following the principles of specification-based, structural and mutation testing. For structural testing the JaCoCo plugin is used. Mutation testing is done using PItest. Test reports are included for each exercise. Furthermore, the Documentation file includes bug reports, implementation decisions and test coverage results.
Includes dependencies: JUnit
, JaCoCo
, PItest
For the exercises in this assignment tests to achieve 100% line coverage are constructed. Furthermore, contracts for each problem are designed and documented including pre-conditions, post-conditions and invariants. Next, a test suite is implemented to verify that these contracts are correctly enforced. Finally, property-based testing techniques are applied to derive tests for the provided code. This is achieved using the jqwik framework. Test reports as well as jqwik's logs are included for each exercise. Furthermore, the Documentation file includes design choices, testing strategies and assumptions made.
Includes dependencies: JUnit
, JaCoCo
, jqwik
, Guava
The last assignment deals with designing for testability as well as mocking of services. For each exercise unit tests are composed to achieve a high test coverage. To deal with external services the mockito framework is used. Test results are included for each exercise. Furthermore, the Documentation file includes implementation decisions, testing strategies and assumptions made.
Includes dependencies: JUnit
, AssertJ
, Mockito