1 One Last Book, One Last Topic Code reviews / software inspections.

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
©Ian Sommerville 2000Software Engineering. Chapter 22Slide 1 Chapter 22 Verification and Validation.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
.NET MSc in Distributed Systems David Grey Rob Miles University of Hull, UK.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
COMP 2007 R J Walters. COMP Remember - Documentation Defines your Engineering process Includes Requirements Design Testing User manuals Other.
1 Today More on random testing + symbolic constraint solving (“concolic” testing) Using summaries to explore fewer paths (SMART) While preserving level.
How to Debug Debugging Detectives Debugging Desperados I GIVE UP! MyClass.java.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
 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.
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Software Quality Assurance and Testing prof. A. C. (Alex) Telea Course description.
Software Inspections and Walkthroughs By. Adnan khan.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
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?
Dr. Tom WayCSC Code Reviews & Inspections CSC 4700 Software Engineering.
程建群 博士 (Dr. Jason Cheng) 年 03 月 Software Engineering Part 06.
Verification and Validation Chapter 22 of Ian Sommerville’s Software Engineering.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 22 Slide 1 Verification and Validation Slightly adapted by Anders Børjesson.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Testing Course Shmuel Ur
Facts and Fallacies of Software Engineering (Rob Glass) CSE301 University of Sunderland Discussed by Harry R. Erwin, PhD.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Debugging. Compile problems Read the whole complaint! Runtime problems –Exceptions –Incorrect behavior.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 13 Verification and validation Slide 1 1 Chapter 13 Verification and Validation.
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
1 C++ Plus Data Structures Nell Dale Chapter 1 Software Engineering Principles Modified from the Slides made by Sylvia Sorkin, Community College of Baltimore.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
Jump to first page (C) 1998, Arun Lakhotia 1 Quality Assurance: Reviews and Walkthroughs Arun Lakhotia University of Southwestern Louisiana Po Box
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Software Testing and Quality Assurance Software Quality Assurance 1.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Verification and Validation Assuring that a software system meets a user's needs.
Code Reviews James Walden Northern Kentucky University.
Unit III Static Testing. static testing Testing of a component or system at requirements or implementation level without execution of any software, e.g.,
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
PRESENTER PRIYANKA GUPTA.  Testing the complete system with respect to requirements.  In System testing, the functionalities of the system are tested.
©Ian Sommerville Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation with edits by Dan Fleck Coming up: Objectives.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation with edits by Dan Fleck.
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.
References & User group Reference: Software Testing and Analysis Mauro Pezze Software Engineering Ian Sommerville Eight Edition (2007) User group:
Informatics 43 – May 3, Restatement of goals Want to verify software’s correctness  Need to test  Need to decide on test cases  No set of test.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
CS 5150 Software Engineering Lecture 21 Reliability 2.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Software Dependability
System Testing Antares Rocket Test Launch ( HQ) System Testing.
CSC 480 Software Engineering
Chapter 8 – Software Testing
Verification and Validation Overview
Code Reviews.
Applied Software Project Management
Welcome to Corporate Training -1
Project Management: Inspections and Reviews Formal Specifications
Testing, Inspection, Walkthrough
Presentation transcript:

1 One Last Book, One Last Topic Code reviews / software inspections

2 What is a Software Peer Review? Having other people read the code Why do that? Because, in many studies, it is the single most effective way to find and fix bugs Human beings are pretty smart Open source theory “many eyes make for shallow bugs”

3 What Kind of Review? Ad hoc “look at t his” Peer deskcheck / “pass around” Pair programming Walkthrough Team Review Formal Inspection

4 Differences? Vary in amount of planning required, amount of formality, number of people and number of roles More heavyweight tend to be more effective, and more efficient (“more bugs for your buck”) but sometimes aren’t possible

5 Formal Inspections Include all of the following: Planning Preparation An actual meeting Correction of found defects Verification of correction Role of moderator/reader is not given to the person/people who created the code in a formal inspection

6 What Have We Learned? Software engineering is like other engineering disciplines But it is also unlike other engineering disciplines The way we do testing is one key difference Testing requires a special kind of thinking Testing is applied epistemology How to find out things about a program Most common way to find out is by having a test case that makes the program fail

7 What Have We Learned? There are many kinds of testing There is no one “right way to test” Manual and automated testing both have a role Random testing is an especially useful automated testing technique Coverage metrics help us measure what we have and have not tested Debugging is like the scientific method Formulate hypotheses about what is wrong Divide and conquer to narrow down the problem Use evidence (tests and examining executions) to drive your hypothesis making