Difference between integration testing and system testing?

I sometimes get queries through email which I can't answer. So I post them here 😉

One query I got in my mailbox is related to the field of Software QA and the query is :

What is the exact difference between Integration Testing & System Testing?
Can someone explain along with examples?

Update: I found some answers. I think I'll explain it with a non-software example. Suppose you are testing a car as it gets built. So you will have to do both system and integration testing. First as the car gets built one by one, various parts of the car will be assembled. Say, the wheels will be attached to the body of the car and engine will be fitted somewhere on the chasis - and you'll have to make sure that these parts fit well together. So you will test tem as soon as the different parts are integrated - that would be similar to 'Integration' testing.

Now the car (our final system) is built and it should be tested for say mileage, performance, comfort, noise etc. So you will have to perform an entirely different set of tests - which would be called as 'system' testing.

In order to summarise, integration testing is done at the smaller scale within the system; while the system testing is about checking the system functionality as desired in the product specifications document.


  • anuragh27crony
    ok ...nice question.....

    Intergration Testing : In every application we intially implement small Sub-functionalities and integrate those...to make it a big fuctionality...

    So main purpose of testing here is to check whether the integration is done correctly and verifying dependencies between the small sub-functionalities

    Note: need not be sub-functionality at times we do it when we integrate 2 or more applications

    System Testing : Here in application is viewed in terms of Fuctionalities...... we see Complete functionality as whole...we never consider the sub-functionalities.....

    So we test the flow of the system which means verifying the functionality of system
  • sriramchandrk
    First let me start with Unit testing

    Unit testing: It is carried out by developer as and when he is creating a part of code etc.,
    He will isolate his part of code from main system and just test if that part works fine.
    For example if he has written a small function addUser()
    Instead of running the whole software and testing if addUser is working,
    he just creates a small stub for testing.
    He comments the name main! and creates a new main
    Like this
    //testing addUser
    addUser("Sri", 100);

    sees if it works fine.

    System test: It is set of test carried out by test engineer against the software(system) developed by developer.
    1. He just considers a system as a black-box.
    2. He uses the specification document and prepare a test specification document.
    3. and finally test system to confirm if itworks as specified. !

    Integration Test:
    This is done at various levels,
    - For example a developer will test if system works fine once addUser is added to complete system.
    - If there are 2 systems interacting with each other,
    then checking if they are working fine after the change or if they are working fine. (means messages exchanged are still hounoured!)
    Ex> Suppose there are two different programs
    1. One will generate logs are write to a log file.
    2. One will display logs on screen using the log file.
    They both should confirm to some format so that what ever is written by one will be understood by other.

    In integration testing we just see if both together are working fine.

    I think this will give a fair idea about the 3 types of test.

    Please comment, may be i am not completely correct.

    Thanks & Regards
  • Kaustubh Katdare
    Kaustubh Katdare
    Wow! Very good replies, @ anuragh & sriram! 😀 You guys rock!
  • sriramchandrk
    Thank You,

    But Please ignore spelling mistakes, it usually happens when i type very fast.
    Can you please integrate a spell check! I cant use the current spell check as i cant install/download anything in office!.

  • durga ch
    durga ch
    hi sriram

    thats correct...

    the flow of any project goes like
    1. solution designer designs the Detailed functional specifications which include actaul functional specification, interface contracts and solution designs for each sub system
    2.the developer needs to develop exaclty whats mentioned in document and
    they perform system testing for thier own system ..
    3. once the systems are developed, simultaneoulsy interfaces are developed as well.
    4, While the interfaces are still under developmental stage, system testing can still proceed by using various pseudo interfaces and pseudo systems.They are caled as stubs which replicate the actul functionality of the remaining systems

    for eg: if A and B are two systems but B is still being developed,, A need not wait,, they replcate the functionality of B in A and verify A behaviour

    once B is ready a complete test from A to B happens this is System Integration testing.

    for eg: You are intraoducing new VoIP services, then testing right from the raising of an order from provisioning system to the call ruoting till customer premises is called end to end system integrated testing.

    Also, there is one more kind of testing knwon as Regression,, which defines the characteristics . ie we preform regression testing to see that the old functionality is not disturbed. This is doen at both ystem level and integration level.
  • anuragh27crony
    thanks Biggie :smile:
  • YourTechMate
    Integration Testing
    If you need to know how your code modules behave when put together ? If you want to test the interfaces of different code modules of your project which individual unit testing cud not test ?
    Integration testing or String Testing usually involves testing the programs for a particular kind of complete transaction.

    System testing
    The basic difference in integration testing and system testing is about its approach and scale. In system testing the basic code level knowledge of various modules is not required. Also the most popular approach of system testing is Black Box testing.
    So, Just to sum up, system testing consumes all of the "integrated" software modules that cleared integration testing and also the software system itself.The thought behind performing integration testing is to identify and issues between different code modules that are integrated together.System testing aims to detect defects both within the integrated modules and also within the system as a whole single unit.


You are reading an archived discussion.

Related Posts

When I asked some of the CEans I know personally, everyone said, 'Black' would be their preferred color for CE - Tee. I'm in the process of setting up CE...
I wonder no one thought of this thread before! We've a good bunch of Automobile engineers & enthusiasts who can guide the rest of us with the technical stuff related...
There's a business idea brewing in my head since long time 😁and I want to learn more about how the water is treated before its bottled. Some of the brands...
Can anyone help me out that which project i will choose related to software field plzzzzzzzzzzzzzzzzzzzz its urgent plsss.............😔
Well I've literally spent over 20 hours searching and then came across this site, so hopefully this would help. I'm trying to put together an electrical system for a house...