DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • Java Concurrency: Condition
  • DevOps vs. DevSecOps: The Debate
  • Building a Flask Web Application With Docker: A Step-by-Step Guide
  • Decoding eBPF Observability: How eBPF Transforms Observability as We Know It

Trending

  • Java Concurrency: Condition
  • DevOps vs. DevSecOps: The Debate
  • Building a Flask Web Application With Docker: A Step-by-Step Guide
  • Decoding eBPF Observability: How eBPF Transforms Observability as We Know It
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. Testing, Tools, and Frameworks
  4. What Is Retesting?

What Is Retesting?

Explore this blog to gain a comprehensive understanding of retesting, including its definition, examples, pros, cons, and significance.

Deepali chadokar user avatar by
Deepali chadokar
·
May. 25, 23 · Tutorial
Like (2)
Save
Tweet
Share
2.99K Views

Join the DZone community and get the full member experience.

Join For Free

Retesting is a software testing technique that involves executing test cases again for a software application or system after defects have been fixed or changes have been made to ensure that the defects have been resolved and the changes made have not introduced new defects.  

The purpose of retesting is to verify that the previous defects have been fixed and that the application or system is working as expected. It is an important part of the software testing process as it helps to ensure that the application or system is functioning correctly and meets the specified requirements.  

Retesting can be performed manually or through automation, depending on the complexity and scope of the testing. However, it is typically carried out during the regression testing phase of the software testing life cycle. 

Retesting Example

Here’s an example of retesting: 

Suppose you are testing an e-commerce website where users can place orders for various products. During initial testing, you find a defect where the shipping address is not saved correctly. You report the defect, and the development team fixes it by making changes to the code. 

After the defect is fixed, the next step is to perform retesting. You would execute the same test case that initially revealed the defect to ensure that the issue has been resolved. You would verify that the shipping address is now saved correctly and that the user can proceed with placing the order without any issues. 

Importance of Retesting Software

If the test passes, then the defect is considered fixed, and the issue is closed. However, if the test fails again, then you would report the issue, and the development team would need to investigate further to determine what went wrong and how to fix it. 

Retesting software is crucial to ensure that the application or system is working as expected after changes have been made or defects have been fixed. Here are some key reasons why retesting is important:   

Verify That Defects Have Been Fixed 

When a defect is reported and fixed, it is important to ensure that the fix has actually addressed the issue. Retesting the same test case that initially revealed the defect helps to verify that the issue has been resolved. 

Detect Regression Issues

When changes are made to the application or system, there is a risk of introducing new defects or regression issues. Retesting helps to identify these issues and prevent them from going unnoticed. 

Ensure Application Quality

Retesting helps to ensure that the application or system is of high quality and meets the specified requirements. In addition, it helps to detect and fix any issues that may impact the user experience, such as incorrect data or functionality. 

Save Time and Costs

Detecting and fixing defects early in the development process can save significant time and costs. In addition, retesting helps to catch issues early before they become more complex and costly to fix.

Overall, retesting is an essential part of the software testing process that helps to ensure that the application or system is functioning correctly and meets the specified requirements. 

Pros and Cons of Retesting

Retesting is an essential part of the software testing process, but like any testing technique, it has its advantages and disadvantages. Here are some pros and cons of retesting:   

Pros 

  • Verification of Fixes: Retesting helps to ensure that the defects identified in earlier testing phases have been fixed correctly. 
  • Regression Testing: Retesting also helps to detect regression issues and ensure that changes made to the system do not impact the existing functionality. 
  • Quality Assurance: Retesting helps to ensure that the system meets the required quality standards and delivers the expected functionality to end-users. 
  • Cost-Effective: Retesting is cost-effective as it helps to identify and fix defects in the early stages of development. 

Cons

  • Time-Consuming: Retesting can be time-consuming, especially if there are a large number of test cases to be executed. 
  • Dependency on Initial Test Cases: The effectiveness of retesting depends on the quality of the initial test cases that are executed. 
  • Human Error: Retesting may be subject to human error, and the results may not always be accurate. 
  • Scope of Testing: Retesting only verifies the specific test cases that were initially executed. Therefore, it may not uncover issues that were not tested or not considered during the initial testing phase. 

In summary, while retesting is an essential technique for software testing, it is important to consider its pros and cons to determine the appropriate testing approach for a specific software application or system. 

Regression testing Software Software testing Test case application Testing

Published at DZone with permission of Deepali chadokar. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Java Concurrency: Condition
  • DevOps vs. DevSecOps: The Debate
  • Building a Flask Web Application With Docker: A Step-by-Step Guide
  • Decoding eBPF Observability: How eBPF Transforms Observability as We Know It

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: