written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Testing Stratergies and Tactics
Difficulty: High
written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Testing Stratergies and Tactics
Difficulty: High
written 6.7 years ago by |
Unit Testing: UNIT TESTING is a level of software testing where individual units/ components of a software are tested. The purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable part of any software. It usually has one or a few inputs and usually a single output. In procedural programming, a unit may be an individual program, function, procedure, etc.
In object-oriented programming, the smallest unit is a method, which may belong to a base/ super class, abstract class or derived/ child class. (Some treat a module of an application as a unit. This is to be discouraged as there will probably be many individual units within that module.) Unit testing frameworks, drivers, stubs, and mock/ fake objects are used to assist in unit testing.
Unit Testing | Integration Testing |
---|---|
Unit testing is a type of testing to check if the small piece of code is doing what it is suppose to do. | Integration testing is a type of testing to check if different pieces of the modules are working together. |
Unit testing checks a single component of an application. | The behavior of integration modules is considered in the Integration testing. |
The scope of Unit testing is narrow, it covers the Unit or small piece of code under test. Therefore while writing a unit test shorter codes are used that target just a single class. | The scope of Integration testing is wide, it covers the whole application under test and it requires much more effort to put together. |
Unit tests should have no dependencies on code outside the unit tested. | Integration testing is dependent on other outside systems like databases, hardware allocated for them etc. |
This is first type of testing is to be carried out in Software testing life cycle and generally executed by developer. | This type of testing is carried out after Unit testing and before System testing and executed by the testing team. |
Unit testing is not further sub divided into different types. | Integration testing is further divided into different types as follows:Top-down Integration, Bottom-Up Integration and so on. |
Unit testing is starts with the module specification. | Integration testing is starts with the interface specification. |
The detailed visibility of the code is comes under Unit testing. | The visibility of the integration structure is comes under Integration testing. |
Unit testing mainly focus on the testing the functionality of individual units only and does not uncover the issues arises when different modules are interacting with each other. | Integration testing is to be carried out to discover the the issues arise when different modules are interacting with each other to build overall system. |
The goal of Unit testing is to test the each unit separately and ensure that each unit is working as expected. | The goal of Integration testing is to test the combined modules together and ensure that every combined modules are working as expected. |
Unit testing comes under White box testing type. | Integration testing is comes under both Black box and White box type of testing.ntegration testing is comes under both Black box and White box type of testing. |