Shakeout test:
To identify an initial test which verifies that a load has been successful and all software is accessible and functioning as expected.
Unit test:
To test particular functions or code modules. Typically done by the programmer and not by testers
Unit testing: To test the code wheather its basic functionality working properly or not, as per requirment.
Shakeout Testing: To test the Networking functionality, Data base connectivity and the integration of modules.
Both testing is done by Developer or Whitebox tester.