Code Reviews.

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Inspection (c) 2007 Mauro Pezzè & Michal Young Ch 18, slide 1 Photo credit jurvetson on Flickr.com; creative commons attribution license.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
1 Managing the ISD (Chapter 10) The Issues: 1) What systems should be developed 2) In-house or Out-Source development 3) Buy or make 4) How do assess systems.
Stepan Potiyenko ISS Sr.SW Developer.
Soft. Eng. II, Spr. 02Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 6 Title : The Software Quality Reading: I. Sommerville, Chap: 24.
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
IT Outsourcing Management
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Help your business people create workflows effectively with SharePoint and Workbox.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Documentation Written By: Ian Sommerville Presentation By: Stephen Lopez-Couto.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Software Project Management
Authorization and Inspection of Cyclotron Facilities Inspections.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
S oftware Q uality A ssurance Part One Reviews and Inspections.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Phil Cronin Anne Hill Allen Schones CIS841 Summer on Campus 1998 IN-PROCESS INSPECTIONS FOR OBJECT ORIENTED DESIGNS.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
University of Palestine software engineering department Testing of Software Systems Program Inspections, Walkthroughs, and Reviews instructor: Tasneem.
Part TWO The Process of Software Documentation Chapter 5: Analyzing Your Users Chapter 6: Planning and writing your Doc. Chapter 7: Getting Useful reviews.
Formal Methods in Software Engineering
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Code Reviews. Challenges of Large Code Base How to ensure… – Maintainable code? – DRY code? – Readable code? – Bug-free code? Average defect detection.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
1 Phase Implementation. Janice Regan, Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine subphases)
Code Reviews James Walden Northern Kentucky University.
1 One Last Book, One Last Topic Code reviews / software inspections.
Architectural Compentency.  Business Success  How do you measure success ◦ backwards looking – derived from history? ◦ is it forward looking? – ability.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
TEAM FOUNDATION VERSION CONTROL AN OVERVIEW AND WALKTHROUGH By: Michael Mallar.
More SQA Reviews and Inspections. Types of Evaluations  Verification Unit Test, Integration Test, Usability Test, etc  Formal Reviews  aka "formal.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
USDA 2016 Financial Management Training Transforming Shared Services Change Management Presented by Ron Gros.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
Employee Guide: Working on a Virtual Team
Software Reviews Ashima Wadhwa.
The Value of Managing the Review Process
Configuration Management
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Quality Control and Quality Assurance: Introduction
Continuous Delivery- Complete Guide
Customer Relationship Management
Chapter - 8 Implementation.
Software Verification and Validation
Customer Relationship Management
COMPACT Web Design Approach:
Configuration Management
Customer Relationship Management
Software Documentation
Software Testing – Is It Time To Hire Software QA Services?
Fitting into our Strategic Plan
LEAN PRODUCTION AND QUALITY MANAGEMENT
Assessing Risk Impact Factors affecting the consequences Nature Scope
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
CS240: Advanced Programming Concepts
Version Control at Google
Chapter 25 – Configuration Management
Applied Software Project Management
Learning organization activity 1
Chapter # 5 Supporting Quality Devices
QA Reviews Lecture # 6.
Code Reviews Assignment Each team should perform a code review
Our Process CMSC 345, Version 1/04.
Presentation transcript:

Code Reviews

Everyone Should Do Them Code Reviews Are Good Everyone Should Do Them

Code Review – An activity in which people other than the author of a software deliverable, examine it for defects and improvement opportunities

The Benefits of Code Review Is a process that, in conjunction with other processes, can better strengthen QA. Developers write better code when it will be reviewed. Code base share. Not as hard as selling unit tests. Fosters communication.

A Good Reason to Code Review software testing alone has limited effectiveness -- the average defect detection rate is only 25 percent for unit testing, 35 percent for function testing, and 45 percent for integration testing. In contrast, the average effectiveness of design and code inspections are 55 and 60 percent [1]. Case studies of review results have been impressive.

Other Reasons for Implementing CR New Employees – CR can help bring new employees up to speed with company systems because it will foster communication between the code reviewer and the new employee. Engineers On Vacation – If a single engineer owns an area of code, then the responsibility of that code follows them outside of the office. Team Culture – Code Reviews help keep everyone engaged and helps everyone to connect on a meaningful technical level

How Most Companies Do Code Review In especially medium sized to large companies, developer teams use the workflow of reviewing entire branches. It is common courtesy to review code as soon as possible as the review Smaller companies tend to do reviews that compare changesets rather than branches since feature branches are less common in small teams

Code Reviewer Checklist Does the changeset look like it solves the problem/fixes the bug? Is the code clear to read and understand. Does the code look maintainable? Design Flaws. How does the changeset possibly impact on other systems? Is the code excessively complex? Is there room for simplification?

Review Methods Deskcheck – The author of a work product sends a ‘copy’ of the work item to be checked by a peer, if there are defects, the peer comments on the review item and sends it back to the author. Inspection – The author gets his/her work inspected by a team of reviewers or a reviewer. Once inspected they aggregate all defects into a document the author can then address these issues. Walkthrough – The author informally presents the code to a party in a meeting. Presenting the code flow and changes while leaving the floor open to suggestions. It is up to the author to take notes during this session for review changes.

Type of Code Review Methods Over The Shoulder – The developer calls for a peer to look over the shoulder of him/herself and then the author does a code walkthrough. Pair Programming – Pair programming is not only a form of agile software development it is also indirectly a form of code review. Tool assisted inspection– The author sets up a code review between two sets of changes and requests a peer to review the changes. This is the widely preferred method.

What Code Reviews Are Not For Testing. Criticizing personal style. Optimization* Reviewing entire systems. There are more formal methods for that.

How To Request Reviews On Changesets Team Explorer Source Control Explorer

How To Request Reviews RightClick On Project View History

How To Request Reviews RightClick On Changeset Request Review

How To Request Reviews Add Reviewer Submit Request

… A Better Way

In Closing In VS/TFS Code Review Comments are actually “mini threads” each team member may comment on comments to start a discussion if need be. Code Review Alongside other QA processes can help ensure better software quality.