How to do regression testing manually with example?
The question asks for a tutorial about manually regression testing but it is hard to give you a tutorial if I don't have an example.
There are lot's of resources about manual regression testing on the web but all of them have examples that are too technical. So here are some basic concepts of regression testing.
We need to test some software (like application or web app). This software comes with a pre-built script that runs every time you run the software. This script is called test script or regression test.
How does a regression test works? Regression testing usually involves creating a set of test data, running a test script, verifying that the output is as expected, and then fixing the bug if necessary. For example, let's say that we are working on a web app. We have a file called test.html which has three rows of form fields to enter a search term. When the user submits the form, the page gets loaded and tested. The test will check that the input from the three form fields matches what it is supposed to be. This test checks if there are any regressions in the website.
We could run the same test multiple times (once for each row of form fields). That's not how we typically do it though. When doing regression testing we can create a set of the web pages that we are interested in and run them one by one. For example, we could check one single website, and then move on to a different website.
The basic idea of manual regression testing is to take a test script and run it. This script is then compared against a set of expected values. The test script would then be updated to fix any bugs that are detected. The process of doing this is called regression testing.
How to define regression test cases. In order to run regression testing it's important to have a test plan or a way to know which page or website to test next. A test plan or checklist is a tool that tells you where to start. This is how you should build a test plan:
Define the scope of the test Plan the pages or websites you want to test Create the actual test case. The goal of the test is to test that the application behaves the same as before when running a regression test script.
What is regression testing in simple words?
So, in this article, we will understand regression testing in simple words.
Regression testing is a critical part of the development process and ensures that a software product works as expected and no issues are left after a release. This test helps to make sure that your project is going right. Regression testing also keeps you from making unnecessary changes in the code or any other technical issue and helps to find out new bugs after releasing the product.
A software program regression test is a test that is performed to ensure that a piece of software is performing as expected when run under a variety of circumstances. It is often done before release, and can help uncover bugs that could otherwise go undetected during development and testing.
Regression testing is not the same as Unit testing. Regression testing is used to test the functionality of software in different circumstances, eg, on different machines with varying software and hardware configurations. A regression test ensures that the software can be used as expected in the normal course of operation.
In simple words: Regression testing is the process of testing a software piece to ensure that it performs correctly when the system that it is installed on changes in a way that it would not be expected by the developers or that would not be able to cause problems for users. Regression testing is conducted after any major change or bug fix has been made, and usually as a part of a software release cycle. Why should we do regression testing? The reason why we need regression testing is to make sure that the software works the same in the normal course of operation. You can see the below image.
Image Credit: If you see the above image, then regression testing helps us to verify that our software is running as expected. It helps to find out new bugs.
If you see the below image, then regression testing helps us to verify that our software is running as expected. So, we should do regression testing because: To find out new bugs in the code. To identify the changes that were made in the software, ie, if the behavior changed and there was a reason behind it. To provide an independent verification of the changes made.
What data should be used for regression testing?
In my experience, the most useful data for regression testing is data from other systems that are known to be working correctly.
That is, if the system is in production and you can just pull up the same data and see the correct output, then it's probably good enough for a regression test. However, if you're trying to regress against a system that's not in production, but on which the development team has no access or control, then you may need to additional "artificial" data to your regression test environment. For example, you might use a tool like LoadDataGenerator. This can be used to generate random data that would be more representative of what might come from the production environment.
You can also generate data that's more representative of what a user would see, with things like dummy profiles. For example, if you had an online form that generated an order, you might have a dummy profile that generated an order that was identical to the one generated by the form.
This is just one example of how data can be added to your regression test environment, though. I'm sure there are many others.
How do you write a test scenario for regression testing?
Some people claim that writing a test scenario is the first step of automation and some experts claim it is useless as it will make some test scripts fail.
Here is my view, if you don't write any test scenarios then how can you be sure that no regression bug will appear in your test code, if you don't check for this regression bug then how will you know that your application code works?
Why do you need test scenarios? There are various scenarios under which your application could break down. These scenarios are used to define how your application reacts when these specific scenarios happens. Test scenarios basically help developers to automate testing by checking how their application should work with new data/data formats.
I have already explained some basic scenarios in last week's blog and how do they work using Selenium Webdriver. So for example, when you are using Selenium to automate testing and one of your application feature will depend on some HTML elements and you have to test a scenario that if this element is present or not? As this element will vary from browser to browser so the only way to check this scenario is to run it again and again using different browsers and you have to write the test scenario that tells your application when the element is present or not. For example, lets say I have to test and verify that a Login button is available on the page or not. So I must first login on this page and then click on Login button and verify that its visible or not. So, to test and verify the button is visible we must define some conditions in our test case like
Login on this page Verify login button is visible. Now if the Login button is not visible means the application has some problem so we need to fix it before testing login button. And if this login button is visible means the application works fine and you are ready to test the actual login logic but what if the login button is not visible? To fix this kind of scenario, you need to create a test scenario that checks for the login button presence on the page and then verify this. In the next section, I will explain two ways to write a test scenario.
Writing a test scenario. To write a test scenario you should start with defining some conditions that will trigger your application code and then write your script.
Related Answers
What are the 3 techniques of regression testing?
Recently, I was asked if regression testing is the same as UAT (user...
What is the difference between regression testing and testing?
My best guess is that for you to write a test that is good at identifying t...
Whats the focus of this Selenium Certification Training?
You can learn it in a week. You just have to know the basics about what we...