Difference between unit, assembly and regression testing, DOT NET Programming

What's the difference b/w Unit testing, Assembly testing and Regression testing?

The Unit testing is also known as the Component testing. The Unit testing ensures that the reliable program unit meets their requirements. The Unit testing is generally conducted by the programmer under the supervision of the project lead or the team Lead. The Main objective of this testing is to test every unit in isolation and individually. This is completed by knowing what the inputs to the unit are and what the expected outputs for the same. The Unit testing is a white box activity. The Unit test generally comes in the implementation phase of the project.

For illustrate in the figure below we are trying to do unit testing on the customer class. Therefore we create the object of Customer class assign "CustomerCode" and "Age" property and check for the response. For illustrate in this situation we tried to pass a non-numeric value to the "Age" property and the class threw an error by saying "Age should be numeric". So here the main basic unit testing entity is your class.

2228_unit testing.png

Figure: - Unit testing for sample Customer class

But the unit testing is not limited to a object, component or function. Therefore definition of a unit testing will depend on the approach. Some examples of unit testing are shown below:-

1) The Check points in UI such as tab orders, look and feel, and error messages etc.

2) The Class, object, component level testing as said earlier.

3) In case of a functional programming it can be a simple method or function.

4) The Logic testing for algorithms. Some projects can have some critical algorithm for an instance some kind of custom sorting, & security implementation etc. So that logic can be tested independently.

But the normal thumb rule of what is the Unit in Unit testing is that the module self contained and by itself.

The Assembly testing goes one step ahead than the unit testing. It describes that the modules interact in a stable, correct and proper manner as defined by the functional specifications provided by the client. The Assembly testing is Black box testing style and also termed as Integration testing. For illustrate in the above unit test of the "Customer" class, testing was completed in isolation. But in actually the "Customer" class is not going to be stand alone rather than it will be used more in conjunction with the "Product" class and also will have the UI to do the same. So in brief the "Customer" class will work with two more entity one is the "UI" & the other is the "Product" class. So generally assembly testing is completed through the UI but not necessarily.

1512_integration testing.png

Figure: - Integration Testing

The figure above defines a simple scenario for the integration testing. The same "Customer" class is now tested with the "UI" and "Product" to see if the interaction between them matches according to the functional specifications.

The Regression testing ensures that the application function properly even if there are changes or enhancements to the system. For illustrate  you change the "Product" class still you will run all the test cases for "Product" , "Customer" &  "UI" just to make sure that any changes in the "Product" class does not affect interaction with other entities. Therefore you will see that when testers do a regression testing they run all the scripts to ensure that nothing has been affected.

Posted Date: 9/25/2012 1:36:48 AM | Location : United States







Related Discussions:- Difference between unit, assembly and regression testing, Assignment Help, Ask Question on Difference between unit, assembly and regression testing, Get Answer, Expert's Help, Difference between unit, assembly and regression testing Discussions

Write discussion on Difference between unit, assembly and regression testing
Your posts are moderated
Related Questions
Required: An implementation of a two player game. Keep the game simple ROCK PAPER SCOSSORS A two player game, each player on a different browser instance.  (pro

Describe the three levels of data abstraction? The are three levels of abstraction: Physical level: The lowest level of abstraction explains how data are stored.  Logical

Full Time Coder My colleague is seeking for someone to work on his website via team viewer. First I would need scale following skills- a) C# - b) AJAX - c) LINQ to S

When we create a private constructor, we can not create object of the class directly from the client. So you will use the private constructors whenever you do not want instances of

Game development tutorials required Project Description: I need video tutorials like lynda for game development using unity. You must have developed games before and need to

Professional TELERIK Bind MS ACCESS Required: 1. Including custom fields to the Schedule. 2. Schedule Calendar Sync with Outlook 3. Selecting display in Schedule res

What is PLINQ? PLINQ stands for Parallel Language Integrated Query. It is the parallel execution of LINQ, in which a query can be implemented by using multiple processors. PLIN

What is the difference between "Web farms" and "Web garden"? The "Web farms" are used to have some redundancy to reduce the failures. It consists of two or more web server of t

I need C# Programmer Project Description: To help in the production of a C# module to provide a web service. We are based in Littlehampton, West Sussex. Skills required ar

Urgently seeking a senior Extjs developer with strong NET developing skill Project Description: Urgently seeking a senior Extjs developer with strong NET developing skill