_____ is all about splitting your code into small testable modules with each module having its own functionality and level of abstraction.
Select the appropriate answer from below options:
a) None of the options
b) Unit testing
c) E2E testing
d) Integration testing