System Integration Testing (SIT)
System Integration Testing is an overall testing of a system, which is done to verify and check if modules and sub-systems can work together and how they are interacting with each other, when they are being integrated into a system. Even if the systems work fine individually defects and issues may appear. The goal of SIT is to make sure that all the elements are integrated successfully as a complete system.
Done by trained testers
System Integration Testing is testing the sub-systems and modules as a whole and is often done by trained testers.
Reveal defects and issues
Through this testing phase, SIT will reveal defects and issues that may appear when different sub-systems and modules are integrated. Even if several modules have been tested individually, there is still a risk that the complete and integrated system will not work as intended. With SIT the defects and issues will be revealed at an early stage, so it will help the development team to perform corrections, before implementing the complete system in production. This process will save both time and costs instead of detecting and fixing defects at a later stage.
User Acceptance Testing (UAT)
User Acceptance Testing is the phase where the software will be tested by the end-user, so the end-user can accept the system before it goes live. UAT is the final testing phase of a system after functional, integration and system testing are completed. The essence of UAT is to test that the system works as defined the functional requirements.
The final testing phase
UAT is typically the final testing phase of a system before the software is ready to go live. After a system has been through functional, integration and system testing, to reveal if any defects or issues appear and to make sure that all system and sub-systems works both individually and when they are being integrated as a whole, the system is ready to be tested by the end-user.
An opportunity to interact with the system
The earlier testing phases will usually be done by trained testers, who are often people with technical insight. They will verify whether the system works as intended in terms of the functional specifications and requirements. Even if the trained testers considering the system as complete, there can still be some requirements and processes that only the end-user can assess. UAT gives the end-user the opportunity to interact with the system and verify that the system functions as specified. The defects or issues will then be reported for further clarification and/or correction.