What Is The Difference Between SIT Vs UAT Testing?

This Article Explains the Key Differences Between SIT And UAT. You Will Also Learn About System Integration Testing And User Acceptance Testing Methods:

In general, testing is done by both testers and developers. Each of them follows its pattern to test an application.

System Integration Testing or SIT is done by testers whereas User Acceptance Testing, commonly known as UAT is done lastly by the end-users. This article will compare both SIT and UAT in detail and help you understand the key differences between the two.

Let’s Explore!!

SIT Vs UAT

Table of Contents:

  • SIT Vs UAT: Overview
  • System Integration Testing (SIT)
    • Working Steps Of SIT
    • Techniques Used In SIT
  • User Acceptance Testing (UAT)
    • Working Steps Of UAT
    • Types Of UAT Testing
  • Key Differences Between SIT Vs UAT
  • Conclusion

SIT Vs UAT: Overview

In general, the levels of testing have the following hierarchy:

  • Unit testing
  • Component testing
  • System testing
  • System integration testing
  • User acceptance testing
  • Production
Testing Hierarchy

Let us analyze the key differences between System Integration Testing (SIT) and User Acceptance Testing (UAT).

System Integration Testing (SIT)

Two different subsystems/systems will combine at a point in any project. We have to then test this system as a whole. Hence this is called System Integration Testing.

Working Steps Of SIT

  1. The individual units have to be integrated first in separate builds.
  2. The entire system has to be tested as a whole.
  3. Test cases have to be written using proper software based on software requirements.
  4. Errors such as UI errors, data flow errors, and interface errors can be found in this testing.

Example:

Let us consider that a healthcare site has 3 tabs initially i.e. Patient Information, Education, and Previous medical records. The healthcare site has now added a new tab called Injection information.

Now the new tab’s details or database has to be merged with the existing tabs and the system has to be tested as a whole with 4 tabs.

SIT example

We have to test the integrated site that has four tabs.

The integrated site looks something as shown below:

Integrated Site

Techniques Used In SIT

  • Top-down Approach
  • Bottom-up Approach
  • Big bang approach

#1) Top-Down Approach

Top-down Approach

As the name itself suggests it means that it follows the top-to-bottom execution. It is a method in which the main functionality or module is tested followed by the sub-modules in order. Here, arises a question as to what will we do if the consecutive actual sub-modules are not present immediately for integration.

The answer to this gives rise to STUBS.

Stubs are known as called programs. They act as dummy modules and perform the required module function in a limited manner.

Stubs perform the functionality of a unit/module/sub-module partially until the actual module gets ready for integration as the integration of sub-modules is difficult.

The low-level components may be replaced by stubs to integrate. Hence top-down approach may follow a structured or procedure language. After one stub is replaced with the actual component, the next stub can be replaced with the actual components.

The execution of the above diagram will be module A, module B, module C, module D, module E, module F, and module G.

Example For Stubs:

Example for stubs

#2) Bottom-Up Approach

This approach follows the bottom-to-top hierarchy. Here, the lower modules are integrated first and then the higher modules are integrated and tested.

The bottom-most modules or units are merged and tested. The set of lower units is called Clusters. While integrating the sub-modules with the main module, in case the main module is not available then the DRIVERS are used to code the main program.

DRIVERS are called calling programs.

DRIVERS

Defect leakage is less in this approach.

Bottom up approach

To integrate the sub-modules to a higher level or main module a driver module is created as shown in the above figure.

#3) Big Bang Approach

In simple words, in the Big Bang Approach, you need to connect all the units at once and test all the components. No partition is done here. Defect leakage must not occur.

This approach is useful for freshly developed projects that are developed from scratch or those that have undergone major enhancements.

Big Bang Approach

User Acceptance Testing (UAT)

Whenever a tester is handing over the completed tested project to the client/end-user then the client/end-user will again test the project to see if it is designed correctly. This is called User Acceptance Testing.

Appropriate test cases have to be written for both in order to perform testing.

UAT

[image source]

The developers develop a code based on the Functional Requirement Specification document. The testers test it and report bugs. But the client or end-user only knows how the system exactly works. Hence they test the system from their end.

Working Steps Of UAT

  • The UAT plan has to be created based on the requirements.
  • The scenarios have to be built from the requirements.
  • The test cases and test data have to be prepared.
  • The test cases have to be run and checked for any bugs present.
  • If there is no bug and the test cases have passed then the project can be put to sign off and sent for production.
  • If any defects or bugs are found then it has to be fixed immediately to prepare for release.

Types Of UAT Testing

  1. Alpha And Beta Testing: Alpha testing is done at the development site whereas beta testing is done in the external environment i.e. an outside company etc.
  2. Contract Acceptance Testing: In a contract, the accepted predefined specifications need to be met.
  3. Regulation Acceptance Testing: As the name says the testing is done against the regulations.
  4. Operational Acceptance Testing: The operation or the workflow designed must be as expected.
  5. Black Box Testing: Without going deeply the software needs to be tested for its vital purpose.

Key Differences Between SIT Vs UAT

SITUAT
This is performed by testers and developers.This is performed by end users and clients.
Integration of the sub units/units is checked here. The interfaces are to be tested.The whole design is checked here.
The individual units are integrated and tested such that the system works as per the requirements.The system is tested as a whole for the main functionality of the product as desired by the user.
It is done based on the requirements by the testers.It is done based on the user perspective as to how the product has to be used by end user.
SIT is performed as soon as the system is assembled.UAT is performed finally just prior to the product release.

Conclusion

System integration testing is done mainly to test the interface requirements of a system. Whereas user acceptance testing is done to verify the system functionality as a whole by an end-user. Appropriate test cases have to be written for both the testing.

SIT can be done by 3 techniques (Top-down, Bottom-up, and Big Bang approach). UAT can be done using 5 methodologies (Alpha and Beta testing, Contract Acceptance testing, Regulation Acceptance testing, Operational Acceptance testing, and Black box testing).

Defects found in system testing can be corrected easily. Different builds can be made based on defects. At the same time, defects found in UAT are considered as a black mark to the testers and are not accepted.

In UAT the business officials or clients must be satisfied that the developed product meets their needs in the business environment. SIT should satisfy the system’s functional requirements.

We hope this article has clarified all your queries on SIT Vs UAT!!

Was this helpful?

Submit Cancel Thanks for your feedback!

Recommended Reading

  • What is User Acceptance Testing (UAT)? UAT Test Plan DocUser Acceptance Testing

    Learn What is User Acceptance Testing (UAT), Along with its Definition, Types, Steps, and Examples: My rule number one when trying to understand a new concept is that the name is always going to be relevant and mostly a literal meaning (in the technical context). Finding out what that is…

  • What is System Integration Testing (SIT): Learn with ExamplesWhat is System Integration Testing

    What is System Integration Testing? System Integration Testing (SIT) is the overall testing of the whole system which is composed of many sub-systems. The main objective of SIT is to ensure that all software module dependencies are functioning properly and that data integrity is preserved between distinct modules of the…

  • System Testing and End-to-End Testing DifferenceSystem Testing Vs End-to-End Testing

    Overview of System Testing and End-to-end testing: End-to-end testing and system testing always go hand in hand, but even an experienced test professional can get confused about the vast benefits that each offer and choose only one. In this article, we will try to debate between End-to-end testing and System…

  • What is System Testing in Software Testing (with Example)System Testing

    What is System Testing in Software Testing? System Testing means testing the system as a whole. All the modules/components are integrated to verify if the system works as expected or not. System Testing is done after Integration Testing. This plays an important role in delivering a high-quality product. Understanding System…

  • What is Black Box Testing: Examples and TechniquesBlack Box Testing

    I have covered what is White box Testing in previous article. Here I will concentrate on Black box testing. BBT advantages, disadvantages and and How Black box testing is performed i.e the black box testing techniques. Black box testing treats the system as a "black-box", so it doesn't explicitly use…

  • Alpha Testing vs Beta TestingAlpha Versus Beta Testing

    Alpha and Beta testing are Customer Validation methodologies (Acceptance Testing types) that help in building confidence to launch the product and thereby result in the success of the product in the market. Even though they both rely on real users and different team feedback, they are driven by distinct processes,…

  • What is Alpha Testing in Software Testing?What Is Alpha Testing

    Alpha Testing is a pre-release activity and one of the types of Acceptance Testing. Here, testing activity is carried out in a much-controlled manner and it is not accessible by the end-users/market. A newly developed product or updated product undergoes Alpha testing in the Testing environment (which is formally called…

Từ khóa » Sit Và Uat Là Gì