The Need for Regression Testing

Regression Testing

Regression-testing

Whenever a developer is fixing any issue, it may affect other parts of the software. Testing existing software applications to make sure that a change or addition hasn’t broken any existing functionality is called regression testing. For regression testing, we verify that newly added feature is not creating any problem in the entire software. Regression testing can be done after verifying the new bugs/features or at the same time while testing the bugs/features. Usually it is done after verification of new changes.

The purpose of regression testing is to catch new bugs that may have been accidentally created into release. For small projects, we can test the entire product with the help of test cases. For most cases, it’s difficult to check the entire product by manual testing. So automated testing is used. In Fedena, we test software manually. Regression testing helps us improve the quality of the product. The main reason for regression testing is to determine whether the change in one part of the software affects the entire software’s functionality. Sometimes, it may affect other parts of the software as well. It will reduce the quality of the product.

 

Testing Process

In Fedena, we use regression testing after developing new features or after fixing the bugs. It helps us to find new bugs that may arise due to fixing other bugs or adding new features. Most of the Fedena modules are related to each other. So, if we fix one issue in Fedena, it may create another issue in some other part of it. Sometimes we miss some bugs at the time of testing features. Most of these issues will come to notice during regression testing. In Fedena, we have found several issues during regression testing.

An example of regression testing

In Fedena we have two types of attendance

  • Daily wise

  • Subject wise

In subject wise attendance, attendances are related to the timetable. In case of daily wise, attendance its only related to weekdays(working days).

Suppose there is a batch “A”(start date:01/06/2014 and end date 30/6/2014)  which has 5 working days (Monday to Friday). If the batch has daily wise attendance type, then we can mark attendances for this batch based on these week days, i.e we can mark attendance from Monday to Friday. Suppose, on 21/06/2014 , we change the weekdays entry to have  6 working days (Monday to Saturday) now. After this change, attendance count now shows 18 (six working days x 3 weeks) but it should have been 15 (5 working days x 3 week), according to the old scenario.

To fix this issue, changes were introduced to the concept of attendances by the developers. Now, a daily wise attendance relates to the timetable for that particular timetable period. Hence, each of these sets are independent, i.e changes made in one set will not affect the past entries. As a result, the attendance count issue is fixed. Drawback of the new scenario being that timetable has to be created for marking attendance for that period.

Also, due to fixing the earlier issue, another issue pops up in attendance.In the old scenario, since the timetable was not required for marking attendances, we could mark attendances for even those days for which the timetable didn’t exist. But now, since the changes were made, its not possible to mark attendances for those days for which no timetables exists.

Issues of this sort is very difficult to track down if we follow normal testing methodologies. This is where Regression Testing helps us in a great deal. Regression testing is capable of tracking such issues so that necessary steps can be taken to avoid them.

Use of test cases in regression testing

Test case is a set of conditions with which a tester will determine whether a software satisfies all requirements. Test cases have great importance in regression testing. If we create good test cases that include the input and output of the software, then we can test each and every part of the software accurately and catch bugs easily.  If we are testing the software without any test cases we may miss out on some parts. So, we have to create test cases properly. Currently, we are verifying whether any software meets the end user requirements or not. With the help of test case, regression testing helps us to improve the quality of a product.

This Article is written by:

IMG_20140404_124153894

Anoop K

A cartoonist with vivid imagination,apart from being a strike bowler for the Foradian cricket team, Anoop loves playing caroms and watching movies.

Share Button

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?