Unit Testing aka component or module testing or program testing. Unit testing is used to check if small pieces of code are doing what it is supposed to do. I, e small functionalities are working or not. For example on a page in one particular section if submit button will only be enabled when we click I agree to terms and conditions.. Defects are found and fixed by developers only and defects are not recorded. Like if we give details on one page and go to next page which asks us to confirm details. So next page the details should be the same as we give on previous page. As unit testing we check whether on next page the text is present. The alignment on page is correct.
Integration testing is used to test if different modules are working as per follow. So it is used to test interaction between various modules. But in integration testing is done based on previous module i.e. whether the info on confirm page is exactly same as on previous page.
Ex –On Page 1 we can view all books. We can click –view details for any book and go to page to view details for that book and click to buy it and go to third page and enter our payment options .So here page 1,2,3 can be considered three modules and we will check interaction between 3 pages. If any of those 3 pages is not yet developed we can use stubs. So in this example we have module 1 as page that contains list views of all books,module 2 as page that contains details of a particular book and module 3 is the billing page which can be an entirely different module where user can enter their payment details to make payment.
System Testing-Serves to focus on behavior of whole system /product defined by the Scope of development project or program.
UAT-UAT (User acceptance Testing) is done by a client after QA has tested the whole application .And sends it to client. It is done at clients place in client’s environment.It is usually done for only 2, 3 days. Main purpose is to provide the end user with confidence that systems works according to his expectations.