Subscribe by Email

Friday, March 9, 2012

What is the difference between re-test and regression testing?

Software re- testing and regression testing are the two concepts which are often misunderstood by the people. These two software testing concepts will be focused up on in this article. These two terms are often mistaken as the same thing but, it is not so. There is a considerable difference between the two.

Concepts of Re-testing

- As we all know, the field of software testing is continually improving, it becomes necessary to modify and re- test the existing software components to make them compatible with the new advanced technology.

- It becomes necessary to retest those old software components to check how much they have been affected by the changes and what all improvements and modifications are needed to make them at par with the new technology.

- So we see that testing a software component for another time is called re- testing.

Concepts of Regression Testing

- Testing these software components again and again for the sake of improvement and modification is what is called regression testing.

- We can formally define the regression testing as the software testing methodology that seeks to dig out new errors and bugs after the all other types of software testing have been carried out on the system and the required changes have been made to root out those bugs and flaws.

- It is mostly emphasized on testing the patches, enhancements and of course configuration changes.

- Regression testing is aimed at determining whether or not the modifications or enhancements have introduced new bugs and errors.

- Another purpose of carrying out regression testing is to ensure that the any changes in one component do not affect the functioning of the other components of the software system or application.

- Executing the already executed tests and observing the behavior as well as the outcome of the program, is the most common approach to the regression testing.

- Regression testing also sees to it that the faults that were fixed previously do not occur again.

- Regression testing like any other testing also consumes so much of time and effort.

- Therefore, in order to cut down the testing time and improve the efficiency of regression testing, the tester can select only few of the required test cases and execute them once again.

- Regression testing is the most costly software testing methodology that is ever employed in a software testing life cycle.

- An aggressive research has been carried out on the regression testing and many issues have been discovered with the regression testing.

Process may be either of deployment or development, because of both of them changes are made in the software system like adaptation to changes, enhancement of functionality and bug fixing etc.

Retesting and regression testing are seen as one of the most expensive software testing processes.

- These two testing processes can take up to 80 percent of the total budget of the software testing and accounts for 50 percent of the total project budget.

- For normal development processes, it is ok if the regression testing is carried after the changes have been made to the software system for every regular builds or before the final release of the software.

- But, for the agile development processes, the regression testing should be carried out after every time the software program is compiled and saved.

- For other types of development, the regression testing can be carried out before the release of the patches like security patches and so on.

- In whatever way or on whatever time the regression testing might be performed, its aim is always the same i.e., giving the assurance that the changes made to the software act as expected and do not affect the other components of the program.

No comments:

Facebook activity