QA City

Join Hands to Build a Smarter India: Sign in | Join now
Most Popular

Differences between Unit Testing and Integration Testing

By SiliconIndia   |   Tuesday, 07 August 2012, 02:53 Hrs
Print Email


Bangalore: Normally software application is not developed by a single developer; rather it is divided into modules that are allocated to different development teams. When a single developed module or unit of the application is tested it is known as unit testing. Once all the modules are developed, they are integrated into one application. Testing of the entire application is known as integration testing.



Characteristics of Unit Testing



Repetition: Unit testing can be performed again and again as many times as you want.
Consistent: Unit test results are very reliable as you can reproduce the results
Quick: Unit tests usually take less than1/2 a second. 
Single Issue: Unit tests concentrate on just one issue at a time.
No external implementation dependencies: Database, network, file system, etc that are not in the memory are not required.



Characteristics of Integration Testing



Slow, Difficult and Not Reproducible: Unlike unit tests, integration tests are time consuming. Re-running the test is not only difficult but it may also not give consistent results. Sometimes getting the test results is also not easy.
External Source Requirements: Integration tests need access to external systems as well as local machine.
Multiple Issues: Integration tests target multiple aspects in the same test. Database integrity, protocols, configurations and system logic are some examples of issues checked by a single integration test.
System Dependent values: Unlike unit tests, integration tests take up values like date, time, machine name, etc from the system.
Uncontrollable elements: Integration tests develop features like threads and random number generators that are not under their control.



Some Major Differences



Both Unit testing and Integration testing are used to check the internal quality of the application, whereas acceptance testing verifies the external quality or business quality. Unit testing checks a single component of an application, whereas integration testing checks if different units can work together as a single application. Therefore while writing a unit test shorter codes are used that target just a single class. On the other hand writing integration tests is a lengthy process. Unit tests help the developer to put individual tasks of an application into different classes. Each class executes just one aspect of functionality which helps in developing the design. Integration tests are not useful for design.



Since unit tests cover only a small part of functionality, their test results confirm the exact part of the application that needs to be fixed. Unit tests only target the proper functioning of individual units and are not helpful to verify the smooth functioning of the entire application. Therefore integration tests are required to check the entire application. When an application does not pass the integration test, the unit test results for that specific part of functionality will help in fixing the issue. Thus both unit testing and integration testing are required; as unit tests target the implementation of  individual components and integration tests target the working of an application as a whole.


Sign Up for QA Digest and Read the Day's Highlights
Don't Miss
Experts on QA
Sasank Taraka Kumar
QA Lead
RAM Informatics Ltd
Ramesh  Letchumanan
Testing Engnr
R and D Tech
Nishu  Miglani
CEO
Quest consultants
Satish  Dappin
Sr QA Engineer
Juniper Networks
Mukesh  Jarial
Software Engineer
Interglobe
Sasank Taraka Kumar
QA Lead
RAM Informatics Ltd
Sudhir  Patnaik
Director Engineering
Intuit India
Bobin Motti  Thomas
Sr Tech. Associate
Tech Mahindra
Write your comment now
 
Whitepapers
This report is the result of the largest public-private sector rese...
For those not familiar with the Coverity Scan™ service, i...
SiliconIndia About Us   |   Contact Us   |   Help   |   Community rules   |   Advertise with us   |   Sitemap   |  
News:       Technology   |   Enterprise   |   Gadgets   |   Startups   |   Finance   |   Business   |   Career   |   Magazine  |   Newsletter   |   News archive  
Cities:        CEO   |     Startup   |   Mobile   |   CIO   |   Women   |   BI   |   HR   |   SME   |   Cloud   |   Marketing   |   QA   |   Java   |   Web Developer  
Community:      Members   |   Blogs   |   Indian Entrepreneurs   |   Gyan   |   Advice   |   Community   |   Find   |   CXO Insights  
Job Board:      Jobs   |   Freshers   |   Companies   |   HR Speak   |   Forum  
Online Courses:   Web Developer   |   Java Developer   |   CCNA Training   |   SEO   |   SAS   |   SQL Server 2005   |   J2EE
Education:   MBA   |   MCA   |   Engineering   |   Training Institute
Life:          Real Estate   |   Travel   |   Finance   |   Gadgets   |   Movie Reviews   |    Jokes  
Send your feedback and help us continue to improve SiliconIndia
© 2014 InfoConnect Web Technologies India Pvt Ltd. all rights reserved