Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Advertisements

Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
More CMM Part Two : Details.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
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.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
Important concepts in software engineering The tools to make it easy to apply common sense!
Stepan Potiyenko ISS Sr.SW Developer.
Code Inspections CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 22, 2007.
Personal Software Process
Feb. 6, 2001CSci Clark University1 CSci 250 Software Design & Development Lecture #7 Tuesday, Feb. 6, 2001.
Week 7: Requirements validation Structured walkthroughs Why have walkthroughs When to have walkthroughs Who participates What procedures are helpful Thoughtless.
OHT 8.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations.
1 Introduction to Software Engineering Lecture 42 – Communication Skills.
Fundamentals of Information Systems, Second Edition
Fundamental of Software Project Management Team Assignment 1 – K15T2 – Team 07.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
Chapter 24 - Quality Management
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
PV213 EIS in Practice: 04 – Quality assurance1 PV213 Enterprise Information Systems in Practice 04 – Quality assurance.
CS 4310: Software Engineering
Chapter 10.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Introduction to Software Quality Assurance (SQA)
Product Quality, Testing, Reviews and Standards
Internet Software Development Testing and Inspections Paul J Krause.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
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.
Chapter 2 Process: A Generic View
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
This chapter is extracted from Sommerville’s slides. Text book chapter
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Finalization; Inspections.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Formal Technical Reviews Matt Graham 18 November 2004 EECS 814 University of Kansas.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Georgia Institute of Technology CS 4320 Fall 2003.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
University of Palestine software engineering department Testing of Software Systems Program Inspections, Walkthroughs, and Reviews instructor: Tasneem.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Computing and SE II Chapter 15: Software Process Management Er-Yu Ding Software Institute, NJU.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CSE SW Metrics and Quality Engineering Copyright © , Dennis J. Frailey, All Rights Reserved CSE8314M13 8/20/2001Slide 1 SMU CSE 8314 /
Copyright , Dennis J. Frailey CSE Software Measurement and Quality Engineering CSE8314 M00 - Version 7.09 SMU CSE 8314 Software Measurement.
Reviews Chapter 5 Applied Software Project Management, Stellman & Greene See also:
Software Process Models.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Software Quality Control and Quality Assurance: Introduction
CIS 375 Bruce R. Maxim UM-Dearborn
Testing and Inspecting to Ensure High Quality
Quality Management chapter 27.
Testing Process Roman Yagodka ISS Test Leader.
A possible solution: Personal Software Process (PSP)
Software Inspections and Testing
Lecture 12: Chapter 15 Review Techniques
Applied Software Project Management
Teams What is a team? Maintaining Focus
QA Reviews Lecture # 6.
Software Reviews.
Presentation transcript:

Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4: Inspections Quality Assurance

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality Inspections An inspection is an activity in which one or more people systematically Examine source code or documentation, looking for defects. Normally, inspection involves a meeting... —Although participants can also inspect alone at their desks.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality3 Roles on inspection teams The author —The one whose materials are under review typically. The moderator. —Calls and runs the meeting. —Makes sure that the general principles of inspection are adhered to. The secretary. —Responsible for recording the defects when they are found. —Must have a thorough knowledge of software engineering. Paraphrasers. —Step through the document explaining it in their own words.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality4 Principles of inspecting Inspect the most important documents of all types —code, design documents, test plans and requirements Choose an effective and efficient inspection team —between two and five people —Including experienced software engineers Require that participants prepare for inspections —They should study the documents prior to the meeting and come prepared with a list of defects  Only inspect documents that are ready —Attempting to inspect a very poor document will result in defects being missed —‘Call meeting’ if documents are NOT ready.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality5 Principles of inspecting  Avoid discussing how to fix defects —Fixing defects can be left to the author -An Action List is developed for the author. Avoid discussing style issues —Issues like are important, but should be discussed separately and off line. Do not rush the inspection process —A good speed to inspect is -200 lines of code per hour (including comments) -or ten pages of text per hour

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality6 Principles of inspecting Avoid making participants tired —It is best not to inspect for more than two hours at a time, or for more than four hours a day Keep and use logs of inspections (action list) —You can also use the logs to track the quality of the design process Re-inspect when changes are made —You should re-inspect any document or code that is changed more than 20%

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality7 A peer-review process Very important points: Managers are normally not involved This allows the participants to express their criticisms more openly, not fearing repercussions The members of an inspection team should feel they are all working together to create a better document Nobody should be blamed

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality8 Conducting an inspection meeting 1.The moderator calls the meeting and distributes the documents. 2.The participants prepare for the meeting in advance. 3.At the start of the meeting, the moderator explains the procedures and verifies that everybody has prepared. 4.Paraphrasers take turns explaining the contents of the document or code, without reading it verbatim. Requiring that the paraphraser not be the author ensures that the paraphraser say what he or she sees, not what the author intended to say. 5. Everybody speaks up when they notice a defect. 6. Atmosphere is NOT intimidating. Remember, what goes around comes around. Moderator must keep meeting on focus and positive!!!!

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality9 Inspecting compared to testing Both testing and inspection rely on different aspects of human intelligence. Testing can find defects whose consequences are obvious but which are buried in complex code. Inspecting can find defects that relate to maintainability or efficiency. —E.g. Commented code; dates of changes commented; use of a particular algorithm; redundancy of code; use of ‘reuse.’ The chances of mistakes are reduced if both activities are performed.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality10 Testing or inspecting, which comes first? It is important to inspect software before extensively testing it. The reason for this is that inspecting allows you to quickly get rid of many defects. If you test first, and inspectors recommend that redesign is needed, the testing work has been wasted. —There is a growing consensus that it is most efficient to inspect software before any testing is done. —I disagree. Even before developer testing

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality Quality Assurance in General Root cause analysis Determine whether problems are caused by such factors as —Lack of training —Schedules that are too tight —Building on poor designs or reusable technology These are important considerations.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality12 Measure quality and strive for continual improvement Things you can measure regarding the quality of a software product, and indirectly of the quality of the process The number of failures encountered by users. The number of failures found when testing a product. The number of defects found when inspecting a product. The percentage of code that is reused. —More is better, but don’t count clones. The number of questions posed by users to the help desk. —As a measure of usability and the quality of documentation.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality13 Post-mortem analysis Looking back at a project after it is complete, or after a release, You look at the design and the development process Identify those aspects which, with benefit of hindsight, you could have done better You make plans to do better next time An absolutely essential activity. Forms the basis for learning and further activities in future.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality14 Process standards The personal software process (PSP): Defines a disciplined approach that a developer can use to improve the quality and efficiency of his or her personal work. One of the key tenets is personally inspecting your own work. The team software process (TSP): Describes how teams of software engineers can work together effectively. The software capability maturity model (CMM): Contains five levels, Organizations start in level 1, and as their processes become better they can move up towards level 5. ISO : An international standard that lists a large number of things an organization should do to improve their overall software process.

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality15 Some Standard Forms from PSP

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality16 INDIVIDUAL LOG FORM Team: Name: Number: (use these column headers as appropriate - or create your own) (To be turned in to Team Leader who will turn these in to me.) Task ID DateStart Time (a) Stop Time (b) Interrupt mins (c) ReasonNet Minutes on Task (b-a-c) Purpose

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality17 (use these column headers as appropriate - or create your own) (to be filled out and turned in by Team Leader to Instructor every two weeks) DateTimeLocationAttendeesPurpose / Status / Conclusions DateTimeLocationAttendeesPurpose / Status / Conclusions DateTimeLocationAttendeesPurpose / Status / Conclusions DateTimeLocationAttendeesPurpose / Status / Conclusions TEAM MEETING LOG FORM Team # Date: Number:

© Lethbridge/Laganière 2001 Chapter 10: Testing and Inspecting for High Quality18 TEAM LEADER LOG FORM Team:Team Leader: Number: (to be turned in by Team Leader to Instructor in biweekly meetings.) Phase of Project Task ID Description of Task Projected Hrs Hours to date Assessment (O = ontime B = behind N = not started Task on Critical Path? Comments or Actions to be taken