What is Peer Review in Software Testing?
Reviewing your work is critical in the software development life cycle (SDLC). It reduces the instances of human errors and allows for better-quality code. Similarly, peer review in important, that involves peers checking each other’s work. But why is it essential, and how much software quality does it improve? Let’s see.
Table Of Contents
- 1 What is Peer Review in Software Testing?
- 2 Why Do We Need Peer Review?
- 3 What Should We Review?
- 4 Types of Peer Reviews
- 5 Peer Review Process
- 6 Peer Review – Static Testing
- 7 Peer Review Characteristics
- 8 Key Takeaway
- 9 Frequently Asked Questions (FAQs)
What is Peer Review in Software Testing?
Peer review in software testing can be described in 2 ways:
1. A practice of checking or reviewing the code of your fellow developer.
2. It can also mean checking the test cases and scripts created by your fellow testers to provide feedback and reduce testing issues.
Peer reviews involve viewing and testing the functioning some code or test cases to ensure that they meets the essential requirements criteria. The aim of peer review is to highlight any possible issues the piece being reviewed, suggest improvements, and check if their compliance with standards. Peer reviews help in getting a different perspective on one’s work and receiving suggestions on making the work not only better but also easier to follow. Peer review can be considered a static testing technique.
There are automated tools too that support the review of automated tests like Testsigma, that is built with review workflows, enabling testers to review each other’s work. Not only that, it has multiple other features that would enable you to achieve a test automation ROI, sooner and better. Check more about Testsigma here: https://testsigma.com
Why Do We Need Peer Review?
There are many reasons why you need to adopt peer review practice in your SDLC process. And it’s more than just improving the code quality.
- The inquisitive approach of your fellow developers and testers is sure to find minute issues that might miss your eyes.
- It improves communication and accessibility within the team, as everyone knows who is working on what. This kind of understanding will increase the give-and-take of information among the team members.
- Peer review facilitates learning among peers and builds an environment of healthy competition.
- This process helps save costs in outsourcing the reviewing task to external resources or buying tools for the exact purpose.
- Peer review practice is important as it also helps developers and testers meet their deadlines by taking help from their fellow team mates to solve any blockers faced.
What Should We Review?
There is no point in promoting peer review when you don’t know what things you should review in the first place. There is a plethora of documentation to prove that soliciting feedback results in improving the quality of the product and reducing rework. We have a list of all the necessary documents and tasks you should include in your peer review process:
- Product definition and marketing planning document to properly analyze the product’s purpose and delivery needs
- User requirements/specifications documents containing all the information end-users want in the application
- System design documents that consist of system architecture and UI/UX plan
- Programming code reviewing involves checking the backend code and looking for defects, improvements, and flow
- Test plans and test cases documents consist of the test scenario, steps, and more
Types of Peer Reviews
Peer review in software testing can be classified into two types: formal and informal. They differ in how they are conducted within the organization.
A formal peer review is one which is led by a trained moderator and follows a particular structure. It consists of a series of tasks, including requirements walkthroughs, technical reviews, inspections, and a well-detailed report at the end.
Informal peer review is the exact opposite of formal. No moderator leads the process, and it is usually a personal favor that your colleagues ask of you. It follows no structure, and there are no recorded minutes of meetings for reviewers to access.
Peer Review Process
Follow these different ways to implement a peer review process in your company:
Informal: Start with the informal review process that simply consists of asking a fellow developer or tester to check your code or tests for correctness and to suggest improvements.
Walkthrough: This method consists of a software developer or tester leading peers interested in the review process. They can pose questions while reviewing and come up with their explanation/understanding of the product.
Create a structure: For a formal review process, creating a structure and having a moderator enforce the structure upon the reviewers is the best way to go.
Review: Start the review process formally or informally, as mentioned in the above steps.
Verify: Verification involves an organized way of conducting the evaluation process. It involves applying several testing metrics/techniques to understand the results of the review process and to analyze the validity of the output.
Peer Review – Static Testing
Peer review is a static black-box testing technique. Static testing refers to analyzing the code and the related documents without the need to execute the program and tasks. So, instead of running the tests and uncovering defects, peer review follows the static testing method, which identifies issues before executing the code.
Here are some examples of what undergoes testing/analysis as a part of the static testing method:
- Requirement specification documents
- Design documents
- Webpage content
- Source code
- Test plans, test cases, test scripts, and test data
- User requirement documents
In the above image, you can see how the peer review process gradually becomes formal as it moves down across the pyramid. The picture illustrates the different stages of the peer review process that we have discussed in the above section.
Read here about Peer Testing
Peer Review Characteristics
The characteristics of peer review are as below:
- It is a documented way of evaluating the code that involves a defect detection process.
- The higher management is not involved in peer review. It consists of peers and a few technical specialists.
- The peer review team is managed by a moderator who is not the original author of the code.
- Reviewers create a final report of the review, which lists and details all the issues that require attention and enhancement in the program.
Peer review is a way of checking and validating the code of another developer. It is done to offer advice on making the product better and finding bugs in the code. There are different ways to perform peer review, and the most suitable one is the formal review. We have discussed the types, benefits, and processes of peer review in software testing in the above sections.
Peer review is a fairly easy task that takes less time than sourcing the work to outside parties, but it offers immense advantages to the business. It builds communication among the team members and creates a sense of shared responsibilities among them. And with the right approach and moderator, any peer review will only provide positive results for every code you check.
Frequently Asked Questions (FAQs)
What are the 3 kinds of peer review?
The three kinds of peer review in testing are single-anonymized, double-anonymized, and open peer review.
The single-anonymized peer review is where the author does not know the identity of the reviewer. In double-anonymized, both reviewer and author don’t know the identity of each other. In Open peer review, the identity of the author and reviewer are known by everyone in the reviewing team before, during, and after the peer review process.
What is a peer review example?
An example of peer review is deciphering the code of a developer. Suppose your colleague approached you to see their code and check if there is any possibility of making the program easy to understand and ensuring there is a smooth flow of data between the different modules/components of the code. This is a scenario where you are the reviewer, and your colleague is the author. Another example of peer review would be verifying the project specifications and design documents after receiving them from the clients and the stakeholders before moving ahead with the project.
What are the 5 key elements of peer review?
The five key elements of peer reviews are:
- Fairness in analyzing the code/documents
- Appropriately selecting the right reviewers with the relevant experience
- Choosing identifiable and publicly acceptable reviewers
- Timely reporting of the review results
- Providing helpful feedback