10%

Try : Insurtech, Application Development

Edtech(5)

Events(33)

Interviews(10)

Life@mantra(10)

Logistics(1)

Strategy(14)

Testing(8)

Android(44)

Backend(28)

Dev Ops(2)

Enterprise Solution(22)

Frontend(28)

iOS(40)

Javascript(13)

AI in Insurance(29)

Insurtech(58)

Product Innovation(36)

Solutions(15)

Augmented Reality(10)

Customer Journey(8)

Design(7)

User Experience(25)

E-health(3)

HealthTech(6)

mHealth(3)

Telehealth Care(1)

Artificial Intelligence(103)

Bitcoin(7)

Blockchain(14)

Cognitive Computing(7)

Computer Vision(6)

Data Science(14)

FinTech(41)

Intelligent Automation(26)

Machine Learning(45)

Natural Language Processing(12)

Regression Testing in Agile: A Complete Guide for Enterprises

6 minutes, 18 seconds read

To scale-up the employee and customer satisfaction levels, enterprises frequently roll features to their software and applications. For instance, ING — the Dutch multinational financial services company releases features to its web and mobile sites every three weeks and has reported impressive improvement in its customer satisfaction scores. 

New releases and enhancements are integral to agile businesses. But with these, comes the requirement to ensure a seamless experience for the user while using the application.

Whenever there is a change in code across multiple releases or multiple builds for the enhancement or bug fix and due to these changes there might be an Impact Area. Testing these Impact Areas is known as Regression Testing.

Regression Testing Cases

Regression testing is a combination of all the functional, integration and system test cases. Here, testers pick the test cases from the Test Case Repository. Organizations use regression testing in the following ways-

  • Executing the old test cases for the next release for any new feature addition. 
  • Only after passing new test cases, the system executes the old test cases of the previous release.

Mainly, regression testing requires 3 things-

  1. Addition of new test cases in the test case repository.
  2. Deletion or retiring of the old test cases which have no relation to any module of an application.
  3. Modification of the old test cases with respect to enhancement or changes in the existing features.

Types of Regression Testing

There are 3 main types of regression testing in agile:

1. Unit Regression Testing

This testing method tests the code as a single unit. 

  • It tests the changed unit only.
  • If there’s a minor code change, testing is done on that particular module and all the components which have dependencies between them.
  • Here, testers need not find the impact area.
  • It is possible to modify or re-write existing test cases.

2. Regional Regression Testing

It involves testing the Impacted Areas of the software due to new feature releases or major enhancement to the existing features.

  • It involves testing the changing unit and the Impact Area.
  • Regional regression testing requires rewriting the entire test cases as it corresponds to a major change.
  • It requires deleting the old test case and adding a new test case to the repository. 
  • It may affect other dependent features. Therefore, it requires identifying the Impact Areas and picking up old test cases from the test case repository and test the dependent modules referring to the old test cases.

3. Full Regression Testing

It is a comprehensive testing method that involves testing the changed unit as well as independent old features of the application.

  • Here, the changed unit, as well as the complete application (independent or dependent), is tested.
  • Full regression testing is mostly applicable for LIFE CRITICAL or MACHINE CRITICAL Applications.

Regression testing is also done at the product/application development stage.

4. Release Level Regression Testing

Regression testing at release level corresponds to testing during the second release of an application.

  • It always starts from the second release of an application.
  • Usually, when organizations seek to add new features or enhancing existing features of an application a new release needs to go live, for which, this type of regression testing is done.
  • Release level regression testing refers to testing on the Impact Area and involves finding out the regression test case accordingly.

5. Build Level Regression Testing

Regression testing at build level corresponds to testing during the second build of the upcoming release.

  • It takes place whenever there’s some code changes or bug fixes across the builds.
  • QA first retest the bug fixes and then the impact area.
  • This cycle of build continues until a final stable build.
  • The final stable build is given to the customer or when the product is live.
  • QA is usually aware of the product and utilizes their Product knowledge to identify the impact areas.

The Process of Regression Testing in Agile

The process of Regression Testing in Agile
  • After getting the requirements and understanding it completely, testers perform Impact Analysis to find the Impact Areas.
  • One should perform regression testing when the new features are stable.
  • To avoid major risks it is better to perform Impact Analysis in the beginning.
  • 3 stakeholders can carry out Impact Analysis:
    • Customers based on Customer Knowledge.
    • Developer based on Coding Knowledge.
    • And, most importantly by the QA based on the Product Knowledge.
  • All three stakeholders make their reports and the process continues till achieving the maximum impact area.
  • Then the Team Lead consolidates all the reports and picks test cases from the test case repository to prepare Regression Testing Suite for QA Engineers. Post this, the final execution process starts.

The main challenges of Regression Testing is to Identify the Impact Area.

Challenges of Manual Regression Testing

  • Time-Consuming as the test cases increase release by release.
  • The need for more manual QA Engineers.
  • Repetitive and monotonous tasks; therefore accuracy is always a question.

This is where Test Automation comes into place.

Advantages of Test Automation

  • Time-saving: Test Automation executes test cases in batches making it faster. I.e. it is possible to execute multiple test cases simultaneously.
  • Reusability: It allows reusing the test script in the next release when the impact areas are the same.
  • Cost-effective: There’s no need for additional resources for executing similar test cases again and again.
  • Accurate: Machine-based procedures are not prone to slip errors.

Read more: Everything about Test Automation as a Service (TAAAS)

It may look like Test Automation might replace manual QA Engineers, but that’s not the case. Regression testing in agile still requires QA in the following instances.

Limitations of Test Automation

  • It is not possible to automate testing for new features. Test Automation Engineers still need to write test scripts.
  • Similarly, it’s not possible to automate testing in case of a feature update.
  • There is no technology support such as Captcha.
  • It requires human involvement; such as OTP.
  • At times, certain test cases require more time in test automation. During such instances, one can go for manual testing. For example, 5 Test Cases require 1 hour to execute it manually whereas Test Automation takes a complete 5 hours executing it. 

In agile, enterprises need testing with each sprint. On the other hand, testers need to ensure that new changes do not affect existing functionalities of the product/application. Therefore, agile combines both regression testing and test automation to accelerate the product’s time-to-market.

If you’re looking for Testing Services for your Enterprises, please feel free to drop us a word at hello@mantralabsglobal.com. You can also check out our Testing Services.

Quality is never an accident; it is always the result of intelligent effort.

John Ruskin

About the author: Ankur Vishwakarma is a Software Engineer — QA at Mantra Labs Pvt Ltd. He is integral to the organization’s testing services. Apart from writing test scripts, you can find Ankur hauling on his Enfield!

Regression Testing FAQs

Why do you do regression testing?

Regression testing is done to ensure that any new feature or enhancement in the existing application runs smoothly and any change in code does not impact the functionality of the product.

Is regression testing part of UAT?

UAT corresponds to User Acceptance Testing. It is the last phase of the software testing process. Regression Testing is not a part of UAT as it is done on product/application features and updates.

What is Agile methodology in testing?

Agile implies an iterative development methodology. Agile testing corresponds to a continuous process rather than sequential. In this method, features are tested as they’re developed.

What is the difference between functional and regression testing?

Functional testing ensures that all the functionalities of an application are working fine. It is done before the product release. Regression testing ensures that new features or enhancements are working correctly after the build is released.

Related:

Cancel

Knowledge thats worth delivered in your inbox

Enhancing digital patient experience with healthcare chatbots

5 minutes read

Chatbots are fast emerging at the forefront of user engagement across industries. In 2021, healthcare is undoubtedly being touted as one of the most important industries due to the noticeable surge in demand amid the pandemic and its subsequent waves. The Global Healthcare Chatbots Market is expected to exceed over US$ 314.63 Million by 2024 at a CAGR of 20.58%.

Chatbots are being seen as those with high potential to revolutionize healthcare. They act as the perfect support system to agents on the floor by providing the first-step resolution to the customer, in terms of understanding intent and need, boost efficiency, and also improve the accuracy of symptom detection and ailment identification, preventive care, feedback procedures, claim filing and processing and more.

At the outset of the COVID-19 pandemic, digital tools in healthcare, most commonly chatbots, rose to the forefront of healthcare solutions. Providence St. Joseph Health, Mass General Brigham, Care Health Insurance (formerly Religare), and several other notable names built and rolled out artificial intelligence-based chatbots to help with diagnostics at the first stage before a human-human virtual contact, especially while differentiating between possible COVID-19 cases and other ailments. The CDC also hosts an AI-driven chatbot on its website to help screen for coronavirus infections. Similarly, the World Health Organization (WHO) partnered with a messaging app named Ratuken Viber, to develop an interactive chatbot for accurate information about COVID-19 in multiple languages. This allowed WHO to reach up to 1 billion people located anywhere in the world, at any time of the day, in their respective native languages.

For Care Health Insurance, Mantra Labs deployed their Conversational AI Chatbot with AR-based virtual support, called Hitee, trained to converse in multiple languages. This led to 10X interactions over the previous basic chatbot; 5X more conversions through Vanilla Web Experience; Drop-in Customer Queries over Voice Support by 20% among other benefits.

Artificial Intelligence’s role in the healthcare industry has been growing strength by strength over the years. According to the global tech market advisory firm ABI Research, AI spending in the healthcare and pharmaceutical industries is expected to increase from $463 million in 2019 to more than $2 billion over the next 5 years, healthtechmagazine.net has reported. 

Speaking of key features available on a healthcare chatbot, Anonymity; Monitoring; Personalization; collecting Physical vitals (including oxygenation, heart rhythm, body temperature) via mobile sensors; monitoring patient behavior via facial recognition; Real-time interaction; and Scalability, feature top of the list. 

However, while covering the wide gamut of a healthcare bot’s capabilities, it is trained on the following factors to come in handy on a business or human-need basis. Read on: 

Remote, Virtual Consults 

Chatbots were seen surging exponentially in the year 2016, however, the year 2020 and onwards brought back the possibility of adding on to healthcare bot capabilities as people continued to stay home amid the COVID-19 pandemic and subsequent lockdowns. Chatbots work as the frontline customer support for Quick Symptom Assessment where the intent is understood and a patient’s queries are answered, including connection with an agent for follow-up service, Booking an Appointment with doctors, and more. 

Mental Health Therapy

Even though anxiety, depression, and other mental health-related disorders and their subsequent awareness have been the talk around the world, even before the pandemic hit, the pandemic year, once again could be attributed to increased use of bots to seek support or a conversation to work through their anxiety and more amid trying times. The popular apps, Woebot and Wysa, both gained popularity and recognition during the previous months as a go-to Wellness Advisor. 

An AI Wellness Advisor can also take the form of a chatbot that sends regular reminders on meal and water consumption timings, nutrition charts including requisite consultation with nutritionists, lifestyle advice, and more. 

Patient Health Monitoring via wearables 

Wearable technologies like wearable heart monitors, Bluetooth-enabled scales, glucose monitors, skin patches, shoes, belts, or maternity care trackers promise to redefine assessment of health behaviors in a non-invasive manner and helps acquire, transmit, process, and store patient data, thereby making it a breeze for clinicians to retrieve it as and when they need it.

Remote patient monitoring devices also enable patients to share updates on their vitals and their environment from the convenience and comfort of home, a feature that’s gained higher popularity amid the pandemic.

A healthcare chatbot for healthcare has the capability to check existing insurance coverage, help file claims and track the status of claims. 

What’s in store for the future of chatbots in Healthcare? 

The three main areas where healthcare chatbots can be particularly useful include timely health diagnostics, patient engagement outside medical facilities, and mental health care. 

According to Gartner, conversational AI will supersede cloud and mobile as the most important imperative for the next ten years. 

“For AI to succeed in healthcare over the long-term, consumer comfort and confidence should be front and center. Leveraging AI behind the scenes or in supporting roles could collectively ease us into understanding its value without risking alienation,” reads a May 2021 Forbes article titled, The Doctor Is In: Three Predictions For The Future Of AI In Healthcare. 

Cancel

Knowledge thats worth delivered in your inbox

Loading More Posts ...
Go Top
bot

May i help you?

bot shadow