Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • Software and Tools
    • School Learning
    • Practice Coding Problems
  • Go Premium
  • DSA
  • Practice Problems
  • C
  • C++
  • Java
  • Python
  • JavaScript
  • Data Science
  • Machine Learning
  • Courses
  • Linux
  • DevOps
  • SQL
  • Web Development
  • System Design
  • Aptitude
  • GfG Premium
Open In App
Next Article:
Software Testing Life Cycle (STLC)
Next article icon

Software Testing - Test Case Review

Last Updated : 05 Aug, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

When a test engineer prepares a test case, he or she may skip some scenarios like entering incorrect data and writing incorrect navigation steps, all of which might have an impact on the overall test execution process. To avoid this, one round of evaluation and approval will be conducted before beginning the test. If some test cases are missed out and the review procedure is not done, then the accuracy of the test case document will be less. Only after the test case has been written must all cases be sent for review to another test engineer, known as a reviewer, for review.

In software testing, the examination of test cases is a critical step. Every functionality listed in the Software Requirement Specification is addressed by the test case. The test case should be effective as well as adhere to the test case writing guidelines. Each test case should be checked to ensure the success and thoroughness of the test.

Table of Content

  • Why Review Test Cases?
  • Why is Test Case review important?
  • Who review the test cases
  • What is Test Case Repository?
  • Benefits of Test Case Repository
  • Techniques for Test Case Review
  • Tips While Reviewing Test Cases
  • Factors to Consider During Test Case Review
  • Common Mistakes During Test Case Review
  • Classifying Defects in Review of  the Test Cases
  • Conclusion
  • Frequently Asked Questions on Test Case Review

Why Review Test Cases?

Peer review should be done on any work product that is deemed a deliverable. Test cases, which are important deliverables for the testing team, are included in this category. It is critical to write effective test cases that successfully uncover as many faults as possible during the testing process. As a result, a check is required to determine whether:

  • Test cases are developed with the intention of detecting faults, and the requirement is correctly understood.
  • Areas of potential impact are identified and put to the test.
  • The test data is accurate and covers every possible domain class. There are scenarios that are both favorable and negative.
  • The expected behavior is accurately documented.
  • The test coverage is sufficient.

Why is Test Case review important?

Test Case Review is important because it helps in identifying areas that need further and more comprehensive testing, in generation of the actual test cases which are useful in documentation and as a ready-reference, in facilitating the selection of the most effective test cases and in determination of the time required by the selected test cases to be executed.

Test case review can also be described as a highly significant phase in the software testing life cycle that focuses on the quality of test cases. It is beneficial to carry out a comprehensive review to note all the gaps, uncertainties, and contradiction understand the defects before conclusion in that it becomes hard to notice the defects. It also leads to the establishment of standards, boosts on test coverage, and compliance to the requirements. In addition, completion of a sound review can drastically limit the amount of rework and maintenance lost in the future, in turn, saving time and money.

Who review the test cases

Most of test case reviews are done in a team with people drawn from different areas within the development team to get different views and a thorough review. The primary reviewers include:

  • Test Leads and Managers: They make sure that the tested cases correspond to a test strategy and the goals of the project.
  • Peers and Senior Testers: They quote on detail concerning the technicalities of the test cases and the functionality of the system in testing.
  • Developers: Their contribution is useful in the confirmation of the technical likelihood and accuracy of the test cases in relation to the code.
  • Business Analysts and Product Owners: It proves that test cases include all the business needs and those scenarios that users can encounter on the application.

What is Test Case Repository?

Keeping test cases organized pays off handsomely, particularly in medium to large projects. Furthermore, testing is a procedure that can be repeated. Everyone benefits from reusing test cases since it saves time. Large elements of projects can be repeated for testing. Maintaining a test case repository allows one to reuse past test resources as needed, which helps to save time. The good news is that keeping a well-organized test case repository isn't difficult at all. The quantity and variety of test cases that constitute the basis of testing cycles are often linked to the success of a software testing team. The assimilation of test cases may take a significant amount of time and effort, with the main focus being on creating a complete test case repository for each application. Test cases in the repository cover all essential permutations and combinations in workflow execution and transaction, ensuring that all system and user interactions are covered.

  • A test case repository is a centralized storage area for all baseline test cases (authored, reviewed, and authorized).
  • When the client provides the requirements, the developer begins constructing the modules, and the test engineer begins writing the test cases.
  • The authorized test cases are stored in a test case repository.
  • If a test engineer wishes to test the application, he or she must use the test case repository to get the test case.
  • We can remove test cases from the test case repository if we don't need them.
  • We have a separate test case repository for each version.
  • Without the authorization of the test lead, test cases cannot be modified or changed once they have been baselined or saved in the test case repository.
  • If there is a crash that affects the software, the testing team always has a complete backup of the test case repository.

Furthermore, because a test case repository increases over time, testers should keep it up to date with each new version of the business application or software product. If this is not done, it will lose synchronization with the software's actual function and behavior over time. As a result, subsequent QA cycles' findings will suffer as a result.

Benefits of Test Case Repository

The following are some of the benefits of a test case repository:

  1. Reusability: Used test cases, especially when good test data is used, can be reused for regression test, hence affording time and effort in test case development.
  2. Traceability: Indeed, it affords the best traceability especially for coverage of all the requirements from the test cases.
  3. Consistency and Standardization: It makes ensure that test cases are written in a neat, readable and presentable format and structure for easy understanding and test execution.
  4. Collaboration: It is for this reason, that through a shared repository there is better and easier sharing as well as updating of test cases among the members of the team.
  5. Version Control: It enables one to verify the difference in the test cases so that the current or the most appropriate can be used.

Test Case Review Process

The following are the list of activities involved in the review process:. 

Test Case Review Process

1. Planning

This is the first phase and begins with the author requesting a moderator for the review process. The moderator is responsible for scheduling the date, time, place, and invitation of the review. The entry check is done to make sure that the document is ready for review and does not have a large number of defects. Once the document clears the entry check the author and moderator decide which part of the document to be reviewed.

2. Kick-Off

This is an optional step in the review process. The goal is to give a short introduction on the objectives of the review and documents to everyone in the meeting. 

3. Preparation

The reviewers review the document using the related documents, procedures, rules, and checklists provided. Each participant while reviewing identifies the defects, questions, and comments according to their understanding of the document.

4. Review Meeting

The review meeting consists of three phases-

  • Logging phase: The issues and defects identified during the preparation phase are logged page by page. The logging is done by an author or scribe, where a scribe is a person to do the logging. Every defect and its severity should be logged.
  • Discussion phase: If any defects need discussion then they will be logged and handled in this phase. The outcome of the discussion is documented for future purposes.
  • Decision phase: A decision on the document under review has to be made by the participants.

5. Rework

If the number of defects found per page exceeds a certain level then the document has to be reworked. 

6. Follow-Up

The moderator checks to make sure that the author has taken action on all known defects

Techniques for Test Case Review

There are three techniques to conduct a test case review:

  1. Self-review: This is carried out by the tester who wrote the test cases. By looking at SRS/FRD, he can see if all of the requirements are met or not.
  2. Peer review: This is done by another tester who isn't familiar with the system under test but hasn't developed the test cases. Maker and Checker are two other names for the same thing.
  3. Supervisory review: This is done by a team lead or manager who is higher in rank than the tester who wrote the test cases and has an extensive understanding of the requirements and system under test.

Tips While Reviewing Test Cases

Below are some of the tips to be kept in mind while reviewing the test cases:

  • In the review process, it's best to stick to version numbers. For example, if reviewing a test case plan for the first time, make it v.1. Once the tester has completed all of the changes, re-review it and make it v.1.1. One will be able to tell which one is the most recent this way, and there will be a complete record of the plan's changes.
  • It is always preferable to meet with the tester face to face to ensure that he fully comprehends all of the review input.
  • If at all possible, run test cases on the SUT (System Under Test) to gain a better understanding of the outcomes and actions involved in their execution.
  • It is preferable to have a copy of SRS/FRD with you while reading the test case for reference.
  • If you are unsure about a test case or expected outcome, consult with the client or your supervisor before making a decision.

Factors to Consider During Test Case Review

During the review, the reviewer looks for the following in the test cases:

1. Template: The reviewer determines if the template meets the product's requirements.

2. Header: The following aspects will be checked in the header:

  • Whether or not all of the qualities are captured is debatable.
  • Whether or not all of the traits are relevant is debatable.
  • Whether all of the traits are filled or not is up to you.

3. Body: Look at the following components in the test case's body:

  • The test case should be written in such a way that the execution procedure takes as little time as possible.
  • Whether or not all feasible circumstances are covered is debatable.
  • Look for a flow that has the maximum amount of test coverage.
  • Whether or not to use the test case design technique.
  • The test case should be easy to comprehend.
TestCaseNameStep NoReviewerAuthor CommentsComments
 CommentsSeverity 

ST100

CNNB-ET001

7Module Not LinkedCritical Precondition is Required

ST200

SNNC-XD007

45Invalid ParameterMajorFixed--------

NJ120

BKKL-PP330

18Unused VariableMinorFixed---------
 07Need more input valueMajorNot Fixed--------

4. Text Execution Report:

  • It is the last document produced by a test lead after all of the testings has been finished.
  • The test execution report defined the application's stability and included data such as the number of cases written, ran, passed, and failed, as well as their percentages.
  • The test execution report is a final summary report that defines the application's quality and aids in determining whether or not the program may be handed over to the customer.
  • Every module has its own spreadsheet to track its progress.
Module NameTotal Test CasesTotal Test Cases ExecutedTotal Test Case PassedTotal Test Case FailedPass%Fail%

Marketing

110

110

100

10

90%

10%

Payment

200

200

150

50

75%

25%

Production

70

70

70

0

100%

0%

Sales

100

90

45

45

50%

50%

Loans

120

120

100

20

80%

20%

Total = 

600

590

465

125

65%

35%

This report was written by the test lead, and the test engineer submitted the particular features that he or she had tested and implemented.

This report is sent to the following addresses by the test lead:

  • Development Team.
  • Management.
  • Test manager.
  • Customer.

Where the list of failed test cases is required by a development team. There is a list of test case names, related status, and comments, as shown in the table below. The data from the Sales test case is shown in the table below-

Step NumberTest Case NameTest Case StatusComments
1

ST100

CNNB-ET001

Pass-
2

ST200

SNNC-XD007

Pass-
3

ST200

SNNC-XD007

FailedBug 
.   
.   
.   
.   
98   
99   
100   

Common Mistakes During Test Case Review

Below are some common mistakes checked during the test case review process:

  1. Spelling errors: Spelling errors can sometimes cause a lot of confusion or make a statement difficult to grasp.
  2. Replication of Test Cases: It relates to the reduction of redundant test cases. It's possible that two or more test cases are testing the same item and can be combined into one, saving time and space.
  3. Standard/Guidelines: It's critical to examine whether all of the standards and guidelines are being followed correctly during the review process.
  4. Redundancy: When a test case is rendered obsolete owing to a change in requirements or certain adjustments, it is referred to be redundancy. These types of test scenarios must be eliminated.
  5. The manner used: Test cases should be written in a basic, easy-to-understand language.
  6. Grammar: If the grammar is incorrect, the test case can be misinterpreted, leading to incorrect findings.
  7. Format of Template: When a suitable template is followed, it is simple to add/modify test cases in the future, and the test case plan appears orderly.

Classifying Defects in Review of  the Test Cases

When these checklists are utilized consistently and problems are discovered, it is recommended that the defects be classified into one of the following categories:

  • Incomplete test cases.
  • Missing negative test cases.
  • No test data.
  • Inappropriate/Incorrect test data.
  • Incorrect Expected behavior.
  • Grammatical problems.
  • Typos.
  • Inconsistent tense/voice.
  • Incomplete results/number of test runs.
  • Defect information was not recorded in the test case.

Defects could sneak into production if test cases aren't thoroughly reviewed. As a result, production issues could be reported, thereby impacting the Software's quality. Resolving problems at this time would be much more expensive than fixing them if they had been discovered during the testing phase.

Conclusion

This is an essential process in testing since it focuses on reviewing all test cases and developing efficient and effective test cases. Therefore, organizations can incorporate employees of various levels to participate in the review process, assisting in the identification of problems early and hence increasing the reliability of software products.

Also, when applied properly, a good test case repository leads to the optimization of efficiency, compliance, and sharing during the software testing process, thereby making a very significant contribution to the functionality of software testing.


Next Article
Software Testing Life Cycle (STLC)

A

akashmomale19
Improve
Article Tags :
  • Geeks Premier League
  • Software Testing
  • Manual Testing
  • Geeks-Premier-League-2022

Similar Reads

    Software Testing Tutorial
    Software testing is an important part of the software development lifecycle that involves verifying and validating whether a software application works as expected. It ensures reliable, correct, secure, and high-performing software across web, mobile applications, cloud, and CI/CD pipelines in DevOp
    10 min read
    What is Software Testing?
    Software testing is an important process in the Software Development Lifecycle(SDLC). It involves verifying and validating that a Software Application is free of bugs, meets the technical requirements set by its Design and Development, and satisfies user requirements efficiently and effectively.Here
    11 min read
    Principles of Software testing - Software Testing
    Software testing is an important aspect of software development, ensuring that applications function correctly and meet user expectations. From test planning to execution, analysis and understanding these principles help testers in creating a more structured and focused approach to software testing,
    3 min read
    Software Development Life Cycle (SDLC)
    Software Development Life Cycle (SDLC) is a structured process that is used to design, develop, and test high-quality software. SDLC, or software development life cycle, is a methodology that defines the entire procedure of software development step-by-step. The goal of the SDLC life cycle model is
    8 min read
    Software Testing Life Cycle (STLC)
    The Software Testing Life Cycle (STLC) is a process that verifies whether the Software Quality meets the expectations or not. STLC is an important process that provides a simple approach to testing through the step-by-step process, which we are discussing here. Software Testing Life Cycle (STLC) is
    7 min read
    Types of Software Testing
    Software testing is a important of software development life-cycle that ensures a product works correctly, meets user expectations, and is free of bugs. There are different types of software testing, each designed to validate specific aspects of an application, such as functionality, performance, se
    15+ min read
    Levels of Software Testing
    Software Testing is an important part of the Software Development Life Cycle which is help to verify the product is working as expected or not. In SDLC, we used different levels of testing to find bugs and errors. Here we are learning those Levels of Testing in detail.Table of ContentWhat Are the Le
    4 min read
    Test Maturity Model - Software Testing
    The Test Maturity Model (TMM) in software testing is a framework for assessing the software testing process to improve it. It is based on the Capability Maturity Model(CMM). It was first produced by the Illinois Institute of Technology to assess the maturity of the test processes and to provide targ
    8 min read

    SDLC MODELS

    Waterfall Model - Software Engineering
    The Waterfall Model is a Traditional Software Development Methodology. It was first introduced by Winston W. Royce in 1970. It is a linear and sequential approach to software development that consists of several phases. This classical waterfall model is simple and idealistic. It is important because
    13 min read
    What is Spiral Model in Software Engineering?
    The Spiral Model is one of the most important SDLC model. The Spiral Model is a combination of the waterfall model and the iterative model. It provides support for Risk Handling. The Spiral Model was first proposed by Barry Boehm. This article focuses on discussing the Spiral Model in detail.Table o
    9 min read
    What is a Hybrid Work Model?
    Hybrid means a thing made by a combination of two different elements and the resulting hybrid element acquires characteristics of both underline elements. The following topics of the hybrid model will be discussed here:What is the Hybrid Model?Why the Hybrid Model?When To Use a Hybrid ModelProcess o
    13 min read
    Prototyping Model - Software Engineering
    Prototyping Model is a way of developing software where an early version, or prototype, of the product is created and shared with users for feedback. The Prototyping Model concept is described below: Table of ContentWhat is Prototyping Model?Phases of Prototyping ModelTypes of Prototyping ModelsAdva
    7 min read
    SDLC V-Model - Software Engineering
    The SDLC V-Model is a Types of Software Development Life Cycle (SDLC), which is used in Software Development process. In V-Model is the extension of the Traditional Software Development Model.It is creating a Structure like the "V" which includes the different phases which we are discussing here in
    10 min read

    TYPES OF TESTING

    Manual Testing - Software Testing
    Manual testing is an important part of software development. Unlike automated testing, it involves a person actively using the software to find bugs and issues. This hands-on approach helps ensure the software works as intended and meets user needs. Table of ContentWhat is Manual Testing Types of Ma
    14 min read
    Automation Testing - Software Testing
    Automated Testing means using special software for tasks that people usually do when checking and testing a software product. Nowadays, many software projects use automation testing from start to end, especially in agile and DevOps methods. This means the engineering team runs tests automatically wi
    15+ min read
`; $(commentSectionTemplate).insertBefore(".article--recommended"); } loadComments(); }); }); function loadComments() { if ($("iframe[id*='discuss-iframe']").length top_of_element && top_of_screen articleRecommendedTop && top_of_screen articleRecommendedBottom)) { if (!isfollowingApiCall) { isfollowingApiCall = true; setTimeout(function(){ if (loginData && loginData.isLoggedIn) { if (loginData.userName !== $('#followAuthor').val()) { is_following(); } else { $('.profileCard-profile-picture').css('background-color', '#E7E7E7'); } } else { $('.follow-btn').removeClass('hideIt'); } }, 3000); } } }); } $(".accordion-header").click(function() { var arrowIcon = $(this).find('.bottom-arrow-icon'); arrowIcon.toggleClass('rotate180'); }); }); window.isReportArticle = false; function report_article(){ if (!loginData || !loginData.isLoggedIn) { const loginModalButton = $('.login-modal-btn') if (loginModalButton.length) { loginModalButton.click(); } return; } if(!window.isReportArticle){ //to add loader $('.report-loader').addClass('spinner'); jQuery('#report_modal_content').load(gfgSiteUrl+'wp-content/themes/iconic-one/report-modal.php', { PRACTICE_API_URL: practiceAPIURL, PRACTICE_URL:practiceURL },function(responseTxt, statusTxt, xhr){ if(statusTxt == "error"){ alert("Error: " + xhr.status + ": " + xhr.statusText); } }); }else{ window.scrollTo({ top: 0, behavior: 'smooth' }); $("#report_modal_content").show(); } } function closeShareModal() { const shareOption = document.querySelector('[data-gfg-action="share-article"]'); shareOption.classList.remove("hover_share_menu"); let shareModal = document.querySelector(".hover__share-modal-container"); shareModal && shareModal.remove(); } function openShareModal() { closeShareModal(); // Remove existing modal if any let shareModal = document.querySelector(".three_dot_dropdown_share"); shareModal.appendChild(Object.assign(document.createElement("div"), { className: "hover__share-modal-container" })); document.querySelector(".hover__share-modal-container").append( Object.assign(document.createElement('div'), { className: "share__modal" }), ); document.querySelector(".share__modal").append(Object.assign(document.createElement('h1'), { className: "share__modal-heading" }, { textContent: "Share to" })); const socialOptions = ["LinkedIn", "WhatsApp","Twitter", "Copy Link"]; socialOptions.forEach((socialOption) => { const socialContainer = Object.assign(document.createElement('div'), { className: "social__container" }); const icon = Object.assign(document.createElement("div"), { className: `share__icon share__${socialOption.split(" ").join("")}-icon` }); const socialText = Object.assign(document.createElement("span"), { className: "share__option-text" }, { textContent: `${socialOption}` }); const shareLink = (socialOption === "Copy Link") ? Object.assign(document.createElement('div'), { role: "button", className: "link-container CopyLink" }) : Object.assign(document.createElement('a'), { className: "link-container" }); if (socialOption === "LinkedIn") { shareLink.setAttribute('href', `https://www.linkedin.com/sharing/share-offsite/?url=${window.location.href}`); shareLink.setAttribute('target', '_blank'); } if (socialOption === "WhatsApp") { shareLink.setAttribute('href', `https://api.whatsapp.com/send?text=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } if (socialOption === "Twitter") { shareLink.setAttribute('href', `https://twitter.com/intent/tweet?url=${window.location.href}`); shareLink.setAttribute('target', "_blank"); } shareLink.append(icon, socialText); socialContainer.append(shareLink); document.querySelector(".share__modal").appendChild(socialContainer); //adding copy url functionality if(socialOption === "Copy Link") { shareLink.addEventListener("click", function() { var tempInput = document.createElement("input"); tempInput.value = window.location.href; document.body.appendChild(tempInput); tempInput.select(); tempInput.setSelectionRange(0, 99999); // For mobile devices document.execCommand('copy'); document.body.removeChild(tempInput); this.querySelector(".share__option-text").textContent = "Copied" }) } }); // document.querySelector(".hover__share-modal-container").addEventListener("mouseover", () => document.querySelector('[data-gfg-action="share-article"]').classList.add("hover_share_menu")); } function toggleLikeElementVisibility(selector, show) { document.querySelector(`.${selector}`).style.display = show ? "block" : "none"; } function closeKebabMenu(){ document.getElementById("myDropdown").classList.toggle("show"); }
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences