In the process of software development at every stage the software system or application under development has to be reviewed be it before its completion or after its completion. Many techniques have been designed to carry out an effective review of the software systems or applications.
What is Peer Review in Software Testing?
- Peer review is one such technique employed in software testing.
- Peer review is a type of software review technique which involves the examination of the software product or code or documentation by its author or developer as well as by his/ her colleagues for the evaluation of the quality of the product and its technical content.
- The number of peers for carrying out a peer review may vary from one to any number the author wishes.
- The process of peer review is aimed at providing an engineering practice which is well disciplined for the detection as well as the correction of the bugs and errors in the software product.
- It is also aimed at the prevention of the defects from leaking in to the operational field.
- These aims of the peer review have been defined on the basis of the CMM or capability maturity model.
- Peer reviews form an essential part of the software development cycle and proves to be very helpful in the detection of the bugs in the early stages of the software development.
- A requirements problem as identified by the peer review during the requirements testing is a lot easier and cheaper to rectify than what it would have been in the development stages of the software testing and architecture.
Now the question comes “how the peer review is different from the other kinds of reviews?”
- Peer reviews are somewhat different from their counterpart of management reviews.
- The management reviews are performed by the management representatives rather than by colleagues as in peer review.
- The management reviews are focussed up on the control and management purposes and not on the technical evaluation like the peer review.
- Peer reviews are also a way apart from the software audit reviews in the way that the software audit reviews are carried out by the personnel external for the evaluation of the level of compliance with the standards, specifications and agreements etc.
- Several formal and informal approaches have been designed for carrying out the peer reviews.
- Buddy checking is one informal approach.
- Some formal approaches are:
1. Technical peer reviews
2. Walk throughs and
3. Software inspections.
- The roles, processes and structures for the above mentioned formal processes are governed by the IEEE standards.
- Management representatives are chosen to carry out a peer review only very rarely when specific technical expertise is required or when the documentation to be reviewed is of management level.
- The third formal approach i.e., software inspection involves the assignment of specific roles to the participants, quantification of the stages by defining the entry and exit criteria, and capturing of the software metrics.
- The peer review carried out for the open sources is commonly known as open source review.
Advantages of Peer Reviews
- Peer reviews have always been observed as a powerful methodology for a great improvement in the software quality.
- A peer review can be performed in many forms like an inspection, team review, pair programming, peer desk check or pass around etc.
Which approach is to be followed is decided on the basis of the rigor, cost, spectrum of formality and of course effectiveness!
The cheapest review method should be selected that is more effective in reducing the project associated risks. But, the inspections are always the best approach and are fit for both high level and low level risk projects.
Wednesday, March 7, 2012
What is meant by peer review in software testing?
Posted by
Sunflower
at
3/07/2012 10:20:00 PM
0
comments
Labels: Application, Audit, Bugs, CMM, Control, Defects, Design, Errors, Formal Approaches, Informal, Management Reviews, Peer review, Processes, Requirements, Reviews, SDLC, Software testing, Techniques
![]() | Subscribe by Email |
|
Thursday, November 17, 2011
What is a review and what is the role it plays in the software development process?
Reviews give support to a software whether it is good or bad and thus, making it easier for people to judge whether the program is the right choice for them or wrong. As far as a program is concerned, it is improved with only those new extensions which have been reviewed properly. Otherwise, these extensions are marked as “unsupported”. If the extensions have been reviewed they are marked as “stable and supported” and added to the official directory. Reviewing is an important method or strategy for making a software application or a program even more dependable and secure. Reviewing can be defined as a process of self regulation and evaluation by a team of professionals and qualified individuals in that particular field. Reviewing is essentially needed to know pros and cons of the program and to improve it’s performance, and to maintain the standard of the software application. Reviewing also provides the program with some sort of credibility.
Reviews can be classified into many types depending upon the field of activity and the profession involving that particular activity. Peer review is commonly known as software review in the field of computer science and development. Software reviewing is a process in which a software product like a source code, program or a document is first examined and checked by its author and then by his/ her colleagues (who are essentially professionals in that field) and qualified individuals for evaluating the quality of the proposed software product. According to the capability maturity model, its purpose is to spot and correct flaws and errors in software applications or programs and thus preventing them from causing any trouble during operation. Reviewing is a part of software development process and it is used as tool to identify flaws and correct them as soon as possible so as to avoid potential errors. Reviewing is necessary as it saves a trouble by identifying problems early during requirements testing otherwise which would have been a hectic problem to fix during software architecture testing.
Software reviews are different from other kind of reviews. Software review processes involve the following activities:
1. Buddy checking (unstructured activity) and formal activities like:
2. Technical peer reviews
3. Walk through
4. Software inspections.
Software reviewing is now considered as a part of computer science and engineering. If there are reviewers; less difficult it becomes to solve a problem. But even though, there may be many reviewers and researchers, it is still difficult to find out every single and small flaw in a huge work piece. But reviewing always improves the work and identifies the mistakes. Reviewers and the review process are in demand because of basically three reasons.
Firstly, the workload of review cannot be directly handled by the team of developers. Even if each individual contributes his/ her all time it won’t be enough.
Secondly, even though the reviewers work as a team to find out mistakes, they put out their own opinions about the program.
Thirdly, a reviewer cannot be considered equal to an expert in all the fields concerning that program.
So having more reviewers to review a software artifact becomes necessary. The names and identity of the reviewers is kept secret to avoid unnecessary criticism and cronyism. Reviewing leads to great improvement in the quality of the software product, readability of the program code, identification of missing and incorrect references, identification of statistical errors and also the identification of scientific errors. Software reviewing is like a filter which filters out the program in its best form to the benefit of the users.
Some great books explaining software reviews:
1. Best Kept Secrets of Peer Code Review: Modern Approach. Practical Advice
2. Software Engineering Reviews and Audits
3. Peer Reviews in Software: A Practical Guide
Posted by
Ashish Agarwal
at
11/17/2011 08:43:00 PM
0
comments
Labels: Code Collaborator, Code Review, Code reviews, Design Review, Peer review, Software development, Software Development Methodology, Software Development process
![]() | Subscribe by Email |
|