There are basically 5 levels of Software Testing:--
1)Unit Testing in Software Testing:-
1.In this level of testing small functions and modules of the project are tested.
2.Input------>Small Function------>Output.
3.Done by Developers.
4.The most 'micro' scale of testing; to test particular functions or code modules. Typically done by the programmer and not by testers, as it requires detailed knowledge of the internal program design and code. Not always easily done unless the application has a well-designed architecture with tight code; may require developing test driver modules or test harnesses.
2)Module Testing in Software Testing:-
1.In this level of testing small functions which make a module are tested.
2.Input------>Small Function+Small Function+Small Function------>Output.
Input------>Module------>Output
3.Done by Team Lead.
3)Integration Testing in Software Testing:-
In this level of testing all the modules which make a application are tested.
2.Done by Test Manager.
3.Testing of combined parts of an application to determine if they function together correctly. The 'parts' can be code modules, individual applications, client and server applications on a network, etc. This type of testing is especially relevant to client/server and distributed systems.
Integration can be top-down or bottom-up:
4)System Testing in Software Testing:-
5)User Acceptance Testing in Software Testing:-
1.In the presence of customer conducting the testing known as User Acceptance Testing in Software Testing.
Before that we need to know couple of main definitions regarding the terminology in the company
PROJECT in which exact rules must be followed that is customer requirements
PRODUCT which are based on general requirements that is on our own requirements