One of the most important types of application testing is performing so-called regression testing (regression tests). Often this group of tests is carried out not in full or not at all. The purpose of this article is to give a brief description of regression tests and to highlight its key notions.
Before we start talking about the methodology of regression testing let’s define what the term “regression testing” means. First thing that you should remember is that the regression testing is the selective retesting of the system. It is kind of test aimed to test the changes made to the application or the environment (fixing the bug, the merging of code, migration to a different operating system, database, web server or application server), to confirm the fact that the pre-existing functionality works the same way it has been working before.
Join us on Facebook to stay updated on all news around mobile app development and testing!
There are two main types of regression testing:
The final regression testing is carried out on “unchanged build for unspecified period of time” or for a period of time that has been chosen as cook-time for the release of the application. This type of testing is more crucial than any other type of stage of testing since only final regression testing gives you an opportunity to be sure that the same build of application that had been tested will go directly to the customers.
When you perform an ordinary regression testing you can use the builds for time frame that is necessary for the test cases to be executed. However, we strongly advise you to use the build that has not undergone any changes for each cycle of the regression testing process.
As it turns out, the considerable amount of defects which were found out and reported by the customers are caused by the last minute bug fixes. It has some serious side effects that is why the choice of test case for the regression testing sometimes can be a challenging task.
The main requirements to the test cases for the regression testing are follows:
While selecting the test cases you should not chose only those ones, that unsuccessful or ineffective or those ones that have nothing to do with bug fixing. You should select positive test cases rather than negative ones for the final circle of the regression testing. It is also highly advised that the regular test cycles before the start of regression testing process should have a proper combination of positive and negative test cases. In this context negative test cases can be considered those ones that had been implemented recently with the aim of breaking the system.
The preliminary planning and acting (in other words planning and acting at the very beginning of your project even before the test cycles) will do you a lot of good. You can also classify the test case into various Priorities in accordance to their role and customer usage.
We suggest that all your test case can be classified into three main categories:
Learn how you can manage test cases within Ubertesters platform.
There are few proper approaches to regression testing that are required to be decided on “case to case” basis:
In a large product release with the aid of a few rounds of testing, it is crucial to write down what test cases were executed with what build and related data. We can call these notes a test case result history.
It is not necessary to RESET the test case very often. Resetting of the test cases is required in following cases:
When the aforementioned recommendations are not implemented, you would better RERUN the test cases instead of resetting the results of the test cases. There are only few distinctions between RERUN and RESET states in test cases, either way the test cases are executed but in case of RESET one has to think “zero base” and expect different result than what was obtained in earlier cycles and therefore those test cases have their influence on the completion rate of testing. In case of RERUN you need not worry about completion rate since you can consider those test cases the complete except for a formality check and you are expected to get same results.
RESET is also selected according to the level of stability of the functionalities. If you are in Priority-1 and have reached a stage of convenient level on Priority-0 (for example more than 95% pass rate) then it is not necessary to RESET Priority-0 test cases unless there are major changes taking place. This is true with Priority-1 test cases when you are in Priority-2 test phase.
In the process of regression testing it is strongly advised that you should use only one build for testing. It is expected that all 100% of those test cases pass using the same build. When the pass % is not 100, the tester can have a look at the previous results of the test case to conclude the expected result.
The regression recommendations can be used in both situations when:
There can be numerous cycles of regression testing that you can plan for each release. It happens because of the possibility of bugs fixes coming in phases or just because some bug fixes may not work as expected resulting in one more regression cycle.
When assigning a “Fail” outcome to a test case, you should enter the defect number(s) along so that you will know what test cases to be executed when a bug fix arrives. Please pay attention that there can be numerous defects that can appear of a particular test case and a definite bug can have much serious impact than one test case.
Despite the fact that the usage of these mechanisms makes the mapping between test cases and defects much easier, the test cases that are to be executed for taking notice of side effects of bug fixes may remain in the function of a manual process.
Regression testing in an integral part of any testing process. Set up your own team of testers to make sure your next app release will work flawless!
Get in touch, fill out the form below, and an Ubertesters representative will contact you shortly to find out how we can help you.
Want to see the Ubertesters platform at work? Please fill out the form below and we'll get in touch with you as quickly as possible.
Fill out a quick 20 sec form to get your free quote.
Please try again later.