Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation . This testing methodology is done during the development process by the software developers and sometimes QA staff.