Software Defects Defect Prevention and Removal 1.

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

Software Engineering Software Engineering is the science and art of building significant software systems that are: 1) on time 2) on budget 3) with acceptable.
Chapter 4 Quality Assurance in Context
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
 Every stage from phase DESIGN in Software Development Process will have “design document” especially in analysis and design phases.  “Design document”
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Overview Lesson 10,11 - Software Quality Assurance
Analysis Stage (Phase I) The goal: understanding the customer's requirements for a software system. n involves technical staff working with customers n.
Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Quality Assurance For Software Engineering && Architecture and Design.
Chapter 13: Defect Prevention & Process Improvement
Software Project Management
Chapter : Software Process
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
S/W Project Management
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
CLEANROOM SOFTWARE ENGINEERING.
Galin, SQA from theory to implementation © Pearson Education Limited 2004 Review objectives Formal design reviews (FDRs) Participants Preparations The.
S oftware Q uality A ssurance Part One Reviews and Inspections.
Chapter 14: Inspection  Basic Concept and Generic Process  Fagan Inspection  Other Inspection and Related 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.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
© Mahindra Satyam 2009 Defect Management and Prevention QMS Training.
Instructor: Peter Clarke
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Quality See accompanying Word file “Software quality 1”
IT Requirements Management Balancing Needs and Expectations.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
Formal Methods in Software Engineering
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
Quality Assurance.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Software Defects.
Ensure that the right functions are performed Ensure that the these functions are performed right and are reliable.
Software Quality Assurance SOFTWARE DEFECT. Defect Repair Defect Repair is a process of repairing the defective part or replacing it, as needed. For example,
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Project Management Strategies Hidden in the CMMI Rick Hefner, Northrop Grumman CMMI Technology Conference & User Group November.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
SQA COMPONENTS IN THE PROJECT LIFE CYCLE C HAPTER 8 Dr. Ahmad F. Shubita.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Requirements Errors Lecture # 14.
Chapter 1 The Systems Development Environment
Software Quality Control and Quality Assurance: Introduction
Chapter 1 The Systems Development Environment
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Software Quality Assurance
Software Verification and Validation
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
UNIT-6 SOFTWARE QUALITY ASSURANCE
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
SQA for Individuals based on
Software Quality Assurance
UNIT-6 SOFTWARE QUALITY ASSURANCE
Software Engineering Software Engineering is the science and art of
Applied Software Project Management
Baisc Of Software Testing
Software Engineering Software Engineering is the science and art of
Chapter # 1 Overview of Software Quality Assurance
Chapter 1 The Systems Development Environment
Software Reviews.
Presentation transcript:

Software Defects Defect Prevention and Removal 1

2 Defect Repair Rate The rate at which software defects are identified and fixed/removed during development Defect repair rates increase with  experience in application  language, inspections  structured design and coding methods

3 Defect Repair Rate Defect repair rates are higher for maintenance specialists than others during maintenance phase For coding errors, they correlate with comment density. IBM’s study concluded that 18% comment density is ideal It also found, flow charts had no impact, but good error messages had great impact

4 Defect Seeding Intentional insertion of errors into a software deliverable prior to a review, inspection, or testing activity It is the quickest way of determining defect removal efficiency Considered unpleasant by many people

5 Defect Severity Levels Most software defect tracking systems include a multi- tier “severity level” scale Do you know what is DEFCON?  System used in US for DEFense readiness CONdition DEFCON LevelLevel of Readiness 5 Normal peacetime readiness; 4 Increased intelligence-gathering and security measures 3 Armed forces readiness increased above normal levels; Air Force ready to mobilize in 15 minutes 2 High readiness ; armed forces ready to deploy in six hours 1 Maximum readiness ; all forces ready for combat; nuclear war imminent or likely

6 Defect Severity Levels Severity level 4: Cosmetic problem Severity level 3: Minor problem Severity level 2: Failure of major function(s) Severity level 1: Total failure of application

7 Defect Tracking It is important to use an accurate and automated defect tracking system Defect tracking tools  Tracking defects by severity level and by origin  Routing defects to appropriate repair facility  Keeping records of duplicate defects  Invalid defects  Repair information against defects

Defect Prevention 8

9 We do not want defects or faults to enter our work products, requirements, design, code, or other documents We try to eliminate the error sources in defect prevention Defect prevention is very difficult to understand, study, and quantify

10 Philosophy of Defect Prevention If human misconceptions are the error sources, education and training can help us remove these error sources If imprecise designs and implementations that deviate from product specifications or design intentions are the causes for faults, formal methods can help us prevent such deviations

11 Philosophy of Defect Prevention If non-conformance to selected processes or standards is the problem that leads to fault injections, then process conformance or standard enforcement can help use prevent the injection of related faults If certain tools or technologies can reduce fault injections under similar environments, they should be adopted

12 Education and Training Education and training provide people-based solutions for error source elimination The people factor is the most important factor that determines the quality and, ultimately, the success or failure of most software projects Education and training of software professionals can help them control, manage, and improve the way they work

13 Focus of Education & Training Product and domain specific knowledge  If the people involved are not familiar with the product type or application domain, there is a good chance that wrong solutions will be implemented Software development knowledge and expertise Knowledge about Development methodology, technology, and tools Development process knowledge

14 Formal Methods Formal methods provide a way to eliminate certain error sources and to verify the absence of related faults Formal methods include  Formal specification  Formal verification

15 Formal Methods There are a number of formal method approaches. The oldest and most influential formal method is the so- called axiomatic approach The research in this area is on-going and depending on the real need of the software applications, formal methods are being used

16 Formal Methods

17 Formal Specification Formal specification is concerned with producing an unambiguous set of product specifications so that customer requirements, as well as environmental constraints and design intentions, are correctly reflected, thus reducing the chances of accidental fault injections

18 Formal Verifications Formal verification checks the conformance of software design or code against these formal specifications, thus ensuring that the software is fault free with respect to its formal specifications

19 Formal Methods The biggest obstacle to formal methods is the high cost associated with the difficult task of performing these human intensive activities correctly without adequate automated support This fact also explains, to a degree, the increasing popularity of limited scope and semi-formal approaches

20 Other Defect Prevention Approaches Formal requirements analysis, i.e., JAD Formal risk-analysis early in the development Prototyping Structured programming methods Certified reusable design and code components

21 Software Defect Prevention

22 Summary We talked about defect prevention and defect prevention techniques We discussed the approaches to eliminating these defects