Hello,
Test driver:
Test drivers are used in bottom-up integration testing to functionally simulate the behavior of upper-level modules, which are not simulated.
Test Stub:
A Test Stub is a quickly developed code that is used as a placeholder so that other sections of code can be unit tested. It typically returns a hardcore response that is in a valid format but completely static
It is required when we need to test the interface between modules X and Y and we have developed only module X. So we cannot just test module X but if there is any dummy module we can use that dummy module to test module X