Unit Test |
Mandatory |
A test that tests the smallest possible unit of code |
Almost every method or function should have a suitable number of unit tests |
Interaction Test |
Mandatory |
A test that tests the interaction of units of code. Typically this uses mocks or stubs |
Any code that interacts with multiple objects should have a suitable number of these |
Interface or Law tests |
Recommended |
A test that defines the semantics of an interface. |
If we use a type class or interface that has more than a single method, we should consider making a law test. |
Property based tests |
Optional |
Here is a good summary. It’s in scala, but the ideas are applicable to any language |
Experiment for yourself and see if you find value from them |
Isolated Performance testing |
Recommended |
|
|
Security scanning |
Project specific |
|
|
Functional testing |
Recommended |
|
|
Exploratory testing |
Mandatory |
|
|