written 8.8 years ago by | • modified 8.8 years ago |
This question appears in Mumbai University > Software Testing & Quality Assurance Subject
Marks: 10 M
Year: Dec 2014
written 8.8 years ago by | • modified 8.8 years ago |
This question appears in Mumbai University > Software Testing & Quality Assurance Subject
Marks: 10 M
Year: Dec 2014
written 8.8 years ago by |
Code review is a phase in the software development process in which the authors of code, peer reviewers, and perhaps quality assurance (QA) testers get together to review code.
Finding and correcting errors at this stage is relatively inexpensive and tends to reduce the more expensive process of handling, locating, and fixing bugs during later stages of development or after programs are delivered to users.
Reviewers read the code line by line to check for:
Flaws or potential flaws
Consistency with the overall program design
The quality of comments
Adherence to coding standards.
Code review may be especially productive for identifying security vulnerabilities. Specialized application programs are available that can help with this process.
Automated code reviewing facilitates systematic testing of source code for potential trouble such as buffer overflows, race conditions, memory leakage, size violations, and duplicate statements.
Reviews are done in various forms such as:
A. Self Review
Self review is done by the same person who has done the coding. The person checks the code with respect to the Organization standards, coding standards and client standards. It has to be completed before the person sends the code for peer review.
B. Peer Review
Peer review is done by another person at the same level. This is done to make sure the requirement is correctly translated to code. There might be some issues the way the requirement is understood between different persons. In peer review the understanding gaps are removed.
C. SME Review
The experts review the code to make sure the business requirement is correctly coded and all negative scenarios are taken care in the coding phase.
D. Informal Walk-throughs
Informal walkthroughs is done by two developers or small group of people in which developer who did the coding explains line by line code to others. The developer may notice/fix the bugs while doing a code walkthrough on the other hand other developer also identify the bugs and share the opinions on solutions to certain problems. This can also be easily done with screen sharing software and voice chat if the developers are remote.
E. Formal Inspections
Formal inspections include a group of people (up to six) reviewing code together with the help of a projector. Each participant is assigned a role (such as Reader, Moderator, or Reviewer) and when the team notices bugs or defects of any kind, everything is detailed with the severity associated with it.
Validation
Determining if the system complies with the requirements and performs functions for which it is intended and meets the organization’s goals and user needs.
Validation is done at the end of the development process and takes place after verifications are completed.
It answers the question like: Am I building the right product?
Am I accessing the right data (in terms of the data required to satisfy the requirement).
It is a High level activity.
Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment.
Determination of correctness of the final software product by a development project with respect to the user needs and requirements.
Advantages of Validation:
During verification if some defects are missed then during validation process it can be caught as failures.
If during verification some specification is misunderstood and development had happened then during validation process while executing that functionality the difference between the actual result and expected result can be understood.
Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc.
Validation helps in building the right product as per the customer’s requirement and helps in satisfying their needs.