14 Oct 2008

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

anuragh27crony

Branch Unspecified
15 Oct 2008
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

sriramchandrk

Branch Unspecified
15 Oct 2008
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
main()
{
//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
Sriram
15 Oct 2008
Wow! Very good replies, @ anuragh & sriram! 😀 You guys rock!
sriramchandrk

sriramchandrk

Branch Unspecified
15 Oct 2008
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!.

Regards
Sriram
durga ch

durga ch

Communications
15 Oct 2008
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

anuragh27crony

Branch Unspecified
15 Oct 2008
thanks Biggie :smile:
YourTechMate

YourTechMate

Branch Unspecified
19 Oct 2008
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.

YourTechMate.Blogspot.com

Share this content on your social channels -

Only logged in users can reply.