SIT (System Integration Testing) and UAT (User Acceptance Testing) are the parts of the testing process where SIT is responsible for testing the interfaces between the components and interactions to various parts of the systems like hardware, software (operating system and file system) and interfaces among systems.
Conversely, UAT (User Acceptance Testing) is a validation testing performed from the user end where user requirements and business-related processes are checked to find whether the system can be accepted or not.
Content: SIT and UAT
|Basis for comparison||SIT||UAT|
|Stands for||System Integration Testing||User Acceptance Testing|
|Basic||Testing method emphasis on the interfacing between the modules.||Focuses on the requirements with the user point of view.|
|Performed by||Developers and testers||Customers and end users|
|Testing order||Carried out after unit testing but prior system testing||Performed in the end after system testing|
|General issues||Problems regarding data flow, control flow, etc.||Involves the functionality issues or non-working features according to the user requirement.|
Definition of SIT (System Integration Testing)
Before understanding SIT (System Integration Testing), we must understand what does system integration means. System integration refers to a phase where several components of the system are incorporated in a single unit, and these units undergo integration testing. The term integration refers to a group of interactions among components. Testing these interactions between the modules and interaction with other systems exteriorly is known as integration testing.
From some other point of view, the SIT (system integration testing) is considered as the combination of integration testing and system testing. At this point, we know what integration testing is. Now, we need to understand what system testing is? The testing performed on the absolute integrated products to check system compliance with specified requirements on functional and non-functional elements is referred to as system testing.
A system can be defined as a finished set of integrated components which combinely deliver product functionality and features. So, for SIT it is necessary to understand the product’s behaviour as a whole thoroughly.
System integration approaches
Integration testing can be of two types – Components or sub-system integration and final integration testing or system integration.
- Components or sub-system integration – The components integration testing begins with the two available components and ends after testing all the component interfaces.
- Final integration testing or system integration – In the final stage of integration where all components are incorporated is known as System Integration Testing (SIT) or Final Integration Testing (FIT).
It is hard to perform integration testing as the interactions involved could exist in two distinct systems which could work well when individually tested, but when these are integrated, the functioning could differ. The complexity is high because several modules and systems come into play simultaneously.
Types of interfaces
There are two kinds of interfaces – Internal and External.
- Internal interfaces facilitate the interaction between the two modules within a project that are internal to the project.
- External interfaces are tangible outside the product to the third party developers.
Definition of UAT (User Acceptance Testing)
UAT (User Acceptance Testing) is conducted at the end of the whole testing process when the product is ready to deliver. The main aim of software development is to develop software that is capable of satisfying the user needs, rather than just fulfilling the system specifications.
UAT is formal testing performed to find out whether a software system satiates its acceptance criteria and to make the buyer examine whether the system can be accepted or not. One of the significant advantages of this testing technique is that it generates confidence in the end users that the software being delivered to them meets their requirements.
UAT validates the following
- Conformance to requirements – Whether the developed system fulfils the system requirement specifications (which describes the user’s requirements).
- Defining performance criteria – Whether the system has achieved the performance as documented in the system requirement statement.
- Supplier’s responsibility – It could vary as defined in the contract.
Types of UAT
There are three types of acceptance testing – Alpha, beta and gamma.
- Alpha testing – It is conducted by the customer in the development environment and development site.
- Beta testing – It is performed by the key user in the user environment and at the user site.
- Gamma testing – The organization that has build the product are responsible for conducting gamma testing.
The acceptance criteria are defined as exit criteria that a system must satiate in order to be accepted by the end user. The three acceptance criteria are shown below:
- Product acceptance – It specifies that as the product requirement changes the acceptance criteria also must be modified and defined as desired.
- Procedure acceptance – The acceptance criteria could be defined according to the procedure followed for delivery.
- Service level agreements – SLA’s are simply a part of the contract signed by customer and product organization which helps in verifying the software as a part of acceptance testing.
Key Differences Between SIT and UAT
- The SIT (System Integration Testing) is intended to test the functionality of a system as a whole after integrating all the system components. On the other hand, UAT (User Acceptance Testing) is responsible for testing the system by the user’s perspective.
- To conduct SIT tests, the specialized developers and testers are required. As against, UAT is performed by the product customer or organization buying the software product.
- System integration testing is performed prior to User acceptance testing.
- The defects detected in the SIT would be related to the control flow, data flow, etcetera. Conversely, in UAT the problems generated would be regarding the functionality that does not match the user requirements.
However, both SIT and UAT testing methods are carried out to ensure that at the time of completion of the product, it must be acceptable to the user.