Development Testing vs Regression Testing

Development Testing:

It is the concept of applying testing practices consistently throughout the software development life cycle model. This method of testing ensures detection of bugs at the right time which further ensures avoidance of any kind of risk in terms of time and cost.

The development testing may consist of few metrics for analysis. Here is a list of a few of them:

  • Static code Analysis: this involves analysing the source code, without actually executing the program.
  • Data Flow Analysis: This concept uses the Control flow Graph mechanism to check the flow of the program, at different levels.
  • Metric Analysis: Metric is a synonym for measurement. Various software metrics like calculating cyclometic complexity, counting Lines of code (Loc) , function points etc are used to calculate the efficiency of a program.
  • Code review: The source code is scrutinized and is checked for any flaws in it.

The above mentioned points are the measuring criteria for keeping a track of the progress of a software project.

Development Testing

The idea behind development testing is keeping the specification documents baselined so that as the test plans are executed, one can analyse whether the development process has followed the guidelines/specifications throughout the process of creating the edifice. Thus 'Development Testing' aims to establish a framework to verify whether the requirements of a given project is met in accordance with the rules of the mission to be accomplished.


This is the type of testing is generally carried out by the software developers during the development phase of the software development process. The motive of such a testing is to ensure that there aren't any bugs from the developer's side and also there aren't any deviations from the requirement's dimension. Hence , this testing is a way to carry out a qualitative analysis.

Regression Testing

This type of testing is done when any new change occurs in part of the existing code. It is to ensure that the current software works fine and have no additional side effects to it, after necessary modifications are made to the software system. It is another way of saying that the process of verification is carried out to ensure robustness of the software system.

When to perform regression testing :

Regression Testing can be carried out at any phase - unit, integration or system. Mostly , regression testing is done at the system level.

Regression test is a methodology to facilitate improvement and advancements in an already existing software application. The life cycle of an application goes through a lot of changes as a result of competitive requirements, arrival of new technologies, requirement changes by the customer, increasing demand for a certain type of feature as per market demands and so on. Therefore regression test is a common phenomenon in the 'Software Development Life Cycle', contributing towards an efficient application delivery and a better life for the product in question.

Regression Testing

Conclusion :

Generally regression testing is done by testing specialists. It is carried out with the help of automation tools. This type of testing is carried out at the end of the development process. Testing specialists run the previous test cases for the same but modified software and check if there are any deviations.

Development Vs Regression Testing :

  • Development testing is a continuous process throughout the development phase whereas regression testing is the process of analysing any deviations.
  • Development testing is to ensure timely and efficient delivery of a software system, regression testing is the check performed to ensure the same software product works as efficiently as it was earlier.
  • Development testing is about a new software system but regression testing is about the old system with additional functionalities.
  • As development testing is during the development phase of a software product, it is often carried out to meet the deadline date. However , regression testing is often performed in crisis situation.
  • Development testing is performed only once but regression testing may be performed several times over the life of a software product.