The very first thing about Unit testing is, it is conducted by developers. Not by the testers.
Unit testing is normally done by the developer after his development is done for a particular module(or piece of code) just to check if what he has coded is working properly or not.
Unit testing is a process that programmers use to test each small part of a project as if it’s the only piece. Once every little portion of a program is evaluated individually we could see that the entire software is in good shape and ready for functioning.
It could be compared in everyday life with trying to repair a car radio outside the automobile instead of repairing it inside, it is better to take it out of its slot, bring it home and connect it to a power source , change its buttons or whatever piece is broken.
This also applies to the engine, the wheels or any other part of the car, it is a different thing to make a test separately with the single parts. Also if a computer component is broken if we put it in another computer we could see if is the right one to be changed.
This method has its own disadvantages because it’s slow and requires patience and attention to detail. But it can be the key to a flexible and successful code.
Unit tests can be made to run manually or even automatically with the use of a script. They can be done after each programming module the coder adds and then the possibility of having bugs in the program becomes almost null. This encourages the code writer to work more organized writing in small parts.