1 © Nokia 2015 Code review Adam Badura 05-11-2015 Public.

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

By Veronika Movagharianpour and Adam Brakel. Software Developers face challenges:  Producing high-quality software  with low-defect levels  while doing.
Chapter 4 Quality Assurance in Context
Metrics for Process and Projects
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Cole Cecil. Peer Code Review 2 Why do a peer code review? Find defects earlier Find different kinds of defects Share knowledge among peers Maintainability.
Overview Lesson 10,11 - Software Quality Assurance
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
RIT Software Engineering
SE 450 Software Processes & Product Metrics 1 Defect Removal.
IBM Haifa Research Lab IBM Haifa Labs An Open Source Simulation Model of Software Testing Shmuel Ur Elad Yom-Tov Paul Wernick
 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.
12 Steps to Useful Software Metrics
Verification and Validation
Using A Defined and Measured Personal Software Process Watts S. Humphrey CS 5391 Article 8.
Security in Open Source Software Joe Wilcox. What is Open Source?  Source code is published  Created via collaboration of developers  Many different.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Chapter 24 - Quality Management Lecture 1 1Chapter 24 Quality management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Project Quality Management
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Software Quality Assurance Lecture #4 By: Faraz Ahmed.
Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations The.
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Software Quality Assurance Activities
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.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Dr. Tom WayCSC Code Reviews & Inspections CSC 4700 Software Engineering.
Lecture #9 Project Quality Management Quality Processes- Quality Assurance and Quality Control Ghazala Amin.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
CSCE 548 Code Review. CSCE Farkas2 Reading This lecture: – McGraw: Chapter 4 – Recommended: Best Practices for Peer Code Review,
Software Engineering - Spring 2003 (C) Vasudeva Varma, IIITHClass of 39 CS3600: Software Engineering: Standards in Process Modeling CMM and PSP.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
Mastergoal Machine Learning Environment Phase III Presentation Alejandro Alliana CIS895 MSE Project – KSU.
Process Improvement. Improving the Test Process In the Software V&V course, Prof. Uwe asked the question: How to improve the Testing Process?
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
1 The Personal Software Process Estimation Based on Real Data* * Would Martin Fowler approve? “I want you to take this personally…”
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Verification and Validation Assuring that a software system meets a user's needs.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software from Requirements Brent Haines April 12, 2007 Why Methodology Doesn’t Really Matter.
Mistakes, Errors and Defects. 12/7/2015Mistakes, Errors, Defects, Copyright M. Smith, ECE, University of Calgary, Canada 2 Basic Concepts  You are building.
1 One Last Book, One Last Topic Code reviews / software inspections.
Herriman High Computer Programming 1A Software Development Cycle Things to Know.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
1 Software Quality Engineering. 2 Quality Management Models –Tools for helping to monitor and manage the quality of software when it is under development.
Mahindra Satyam Confidential Quality Management System Software Defect Prevention.
1 MIS 2008/2009 Software Project - Group 1 Activity Monitoring Tool 08-quality/ Quality-plan/ Change-control-plan/ Progress-reports/ Templates/ index.htm.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Managing Qualitative Knowledge in Software Architecture Assesment Jilles van Gurp & Jan Bosch Högskolan Karlskrona/Ronneby in Sweden Department of Software.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Pragmatics 4 Hours.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Verification and Validation
CSC 480 Software Engineering
Software Verification and Validation
Verification and Validation
Code Reviews.
12 Steps to Useful Software Metrics
Verification and Validation
Why Do We Measure? assess the status of an ongoing project
Dilbert Scott Adams Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman.
Verification and Validation
Software Quality Engineering
Engineering Secure Software
Quality Measurable characteristic Cyclomatic complexity Cohesion
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Why Do We Measure? assess the status of an ongoing project
Presentation transcript:

1 © Nokia 2015 Code review Adam Badura Public

2 © Nokia 2015 “systematic examination of computer source code” Public What is code review? Code review

3 © Nokia 2015 Code review is having other people look at your code in order to find defects. Public What is code review? Code review

4 © Nokia 2015 Pros & cons of code review Introducing code review to the team Measuring code review Best practices for good code review Public Agenda Code review

5 © Nokia 2015  prevents releasing bugs  ensures architecture quality  leads to personal development  takes time  is boring  hurts feelings Public Pros & cons of code review Code review

6 © Nokia 2015  ? prevents releasing bugs  ensures architecture quality  leads to personal development  takes time  is impractical when reviewer doesn’t know domain  hurts feelings Public Pros & cons of code review Code review

7 © Nokia 2015  prevents releasing bugs  ensures architecture quality  leads to personal development  takes time  is impractical when reviewer doesn’t know domain  hurts feelings Public Pros & cons of code review Code review

8 © Nokia 2015  prevents releasing bugs  ensures architecture quality  leads to personal development  ? takes time  is impractical when reviewer doesn’t know domain  hurts feelings Public Pros & cons of code review Code review

9 © Nokia 2015  prevents releasing bugs  ensures architecture quality  leads to personal development  takes time  is impractical when reviewer doesn’t know domain  hurts feelings Public Pros & cons of code review Code review

10 © Nokia 2015 Follow example or order Show that it works to give example Mind time taken when estimating Public Introducing code review to the team Code review

11 © Nokia 2015 Follow example or order Show that it works to give example Mind time taken when estimating Public Introducing code review to the team Code review

12 © Nokia 2015 Follow example or order Show that it works to give example Mind time taken when estimating Public Introducing code review to the team Code review

13 © Nokia 2015 Code review costs Code review isn’t a sellable product So how do we know that it is worth it? Because we measure it’s impact! Public Measuring code review Code review

14 © Nokia 2015 Code review costs Code review isn’t a sellable product So how do we know that it is worth it? Because we measure it’s impact! Public Measuring code review Code review

15 © Nokia 2015 Code review costs Code review isn’t a sellable product So how do we know that it is worth it? Because we measure it’s impact! Public Measuring code review Code review

16 © Nokia 2015 Code review costs Code review isn’t a sellable product So how do we know that it is worth it? Because we measure it’s impact! Public Measuring code review Code review

17 © Nokia 2015 External metrics Decrease in reported bugs Decrease in bugs traced to development Increase of defects detected Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

18 © Nokia 2015 External metrics Reported bugs Bugs traced to development Defects detected and prevented Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

19 © Nokia 2015 External metrics Reported bugs Bugs traced to development Defects detected and prevented Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

20 © Nokia 2015 External metrics Reported bugs Bugs traced to development Defects detected and prevented Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

21 © Nokia 2015 External metrics Reported bugs Bugs traced to development Defects detected and prevented Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

22 © Nokia 2015 External metrics Reported bugs Bugs traced to development Defects detected and prevented Internal metrics Defects count Time spent Ratios including also reviewed code size Types of defects Public Measuring code review Code review

23 © Nokia 2015 Ensure that you can objectively measure effects of code review Without that you don’t know whether it helps Also you don’t know if you should change it And if change it then how Public Measuring code review Code review

24 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

25 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

26 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

27 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

28 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate employees based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

29 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

30 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

31 © Nokia 2015 Limit size ( LOC) and time (1-2 hours) Iterate – check how corrections were applied Use supporting techniques. For example: Checklists Change description Don’t evaluate based on code review Mind your language Count the time! Tools help in the process rather than define it Public Best practices for good code review Code review

32 © Nokia Barkeep 2.cahoots 3.CodeReviewHub 4.CodeReviewer 5.Codebrag 6.Codifferous 7.Collaborator 8.Crucible 9.Differential 10.exercism 11.Gerrit 12.Gitcolony 13.GitHub Code Review 14.Kallithea 15.Malevich 16.Redmine + Code Review Plugin 17.Review Board 18.Reviewable 19.Reviewlead 20.Rietveld 21.TeamReview 22.Upsource Public Tools list Code review

33 © Nokia Best Kept Secrets of Peer Code Review 2.A Guide to Code Inspections 3.What Types of Defects Are Really Discovered in Code Reviews? 4.11 Best Practices for Peer Code Review 5.Wikipedia, “Code review” 6.Wikipedia, “Software inspection”  Quora, StackOverflow, …  Actual work Public References Code review

34 © Nokia 2015 ? Public Questions Code review