Slicing codebase over the testing pyramid
Everyone knows about the testing pyramid. In practice, it is not always obvious what level of tests is appropriate to cover specific logic. I propose to look inside the black box, into the code, and see what the selection criteria are.
- Will the architecture and design of the code have an impact?
- Will infrastructure have its say?
- Is it possible to ignore them, and how much will it cost?
- Finally, how will the tests impact the lifecycle of the application itself?
Have a look at a few examples, try to systematize the approach to choosing the scale of tests and figure out who should write them.