3. Software product quality metrics The quality of a product: -the “totality of characteristics that bear on its ability to satisfy stated or implied needs”.

Slides:



Advertisements
Similar presentations
OHT 2.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Advertisements

Metrics for Process and Projects
Software Quality Assurance (SQA). Recap SQA goal, attributes and metrics SQA plan Formal Technical Review (FTR) Statistical SQA – Six Sigma – Identifying.
Software measurement Ronan Fitzpatrick.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
Software Quality Metrics
Software Quality Metrics Overview
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
SAK5102 Software Evaluation Measuring External Attributes.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
Software Process and Product Metrics
Software Metrics/Quality Metrics
1 Software Quality Metrics Ch 4 in Kan Steve Chenoweth, RHIT What do you measure?
CIS 376 Bruce R. Maxim UM-Dearborn
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Functional Testing Test cases derived from requirements specification document – Black box testing – Independent testers – Test both valid and invalid.
Lecture 3.
Overview Software Quality Assurance Reliability and Availability
Software Reliability Categorising and specifying the reliability of software systems.
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
Software Testing and Quality Assurance Software Quality Metrics 1.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
CS3100 Software Project Management Week 26 - Quality Dr Tracy Hall.
Software Reliability SEG3202 N. El Kadri.
SOFTWARE ENGINEERING1 Introduction. Software Software (IEEE): collection of programs, procedures, rules, and associated documentation and data SOFTWARE.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software Measurement & Metrics
Software Engineering 2003 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Project Management Lecture # 11. Outline Quality Management (chapter 26 - Pressman)  What is quality?  Meaning of Quality in Various Context.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Software Metrics – part 2 Mehran Rezaei. Software Metrics Objectives – Provide State-of-art measurement of software products, processes and projects Why.
Statistical Software Quality Assurance Implies –Information about defects is collected and categorized –An attempt is made to trace each defect to underlying.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
Software Engineering 2004 Jyrki Nummenmaa 1 SOFTWARE PRODUCT QUALITY Today: - Software quality - Quality Components - ”Good” software properties.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa SOFTWARE PRODUCT QUALITY Today: - Software quality -
Software Quality Metrics III. Software Quality Metrics  The subset of metrics that focus on quality  Software quality metrics can be divided into: End-product.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
1 Lecture 12: Chapter 16 Software Quality Assurance Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Software Metrics and Reliability
Classifications of Software Requirements
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Hardware & Software Reliability
Software Verification and Validation
Introduction SOFTWARE ENGINEERING.
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Chapter 21 Software Quality Assurance
Software Reliability: 2 Alternate Definitions
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Chapter 21 Software Quality Assurance
Software Test Termination
By: David Hoang Martin Hoffman
Progression of Test Categories
Chapter 25 Process and Project Metrics
Welcome to Corporate Training -1
Chapter # 7 Software Quality Metrics
Chapter 32 Process and Project Metrics
Metrics for Process and Projects
Presentation transcript:

3. Software product quality metrics The quality of a product: -the “totality of characteristics that bear on its ability to satisfy stated or implied needs”.  Metrics of the external quality attributes  producer’s perspective: “conformance to requirements”  customer’s perspective: “fitness for use” - customer’s expectations

Some of the external attributes cannot be measured: usability, maintainability, installability. Two levels of software product quality metrics:  Intrinsic product quality  Customer oriented metrics: Overall satisfaction Satisfaction to specific attributes: capability (functionality), usability, performance, reliability, maintainability, others.

Intrinsic product quality metrics:  Reliability: number of hours the software can run before a failure  Defect density (rate): number of defects contained in software, relative to its size. Customer oriented metrics:  Customer problems  Customer satisfaction

3.1. Intrinsic product quality metrics Reliability --- Defect density Correlated but different! Both are predicted values. Estimated using static and dynamic models Defect: an anomaly in the product (“bug”) Software failure: an execution whose effect is not conform to software specification

Reliability Software Reliability: The probability that a program will perform its specified function, for a stated time period, under specified conditions. Usually estimated during system tests, using statistical tests, based on the software usage profile Reliability metrics: MTBF (Mean Time Between Failures) MTTF (Man Time To Failure)

MTBF (Mean Time Between Failures):  the expected time between two successive failures of a system  expressed in hours  a key reliability metric for systems that can be repaired or restored (repairable systems)  applicable when several system failures are expected. For a hardware product, MTBF decreases with the its age.

For a software product, MTBF it’s not a function of time! It depends on the debugging quality.

MTTF (Man Time To Failure):  the expected time to failure of a system  in reliability engineering  metric for non-repairable systems  non-repairable systems can fail only once; example, a satellite is not repairable. Mean Time To Repair (MTTR): average time to restore a system after a failure When there are no delays in repair: MTBF = MTTF + MTTR Software products are repairable systems! Reliability models neglect the time needed to restore the system after a failure. with MTTR =0  MTBF = MTTF Availability = MTTF / MTBF = MTTF / (MTTF + MTTR)

Is software reliability important? company's reputation warranty (maintenance) costs future business contract requirements custom satisfaction

Defect rate (density)  Number of defects per KLOC or per Number of Function Point, in a given time unit Example: “The latent defect rate for this product, during next four years, is 2.0 defects per KLOC”.  Crude metric: a defect may involve one or more lines of code Lines Of Code -Different counting tools -Defect rate metric has to be completed with the counting method for LOC! -Not recommended to compare defect rates of two products written in different languages

Defect rate for subsequent versions (releases) of a software product: Example: LOC: instruction statements (executable + data definitions – not comments). Size metrics: Shipped Source Instructions (SSI) New and Changed Source Instructions (CSI) SSI (current release) = SSI (previous release) + CSI (for the current version) - deleted code - changed code (to avoid double count in both SSI and CSI)

Defects after the release of a product: field defects – found by the customer (reported problems that required bug fixing) internal defects – found internally Post release defect rate metrics:  Total defects per KSSI  Field defects per KSSI  Release – origin defects (field + internal) per KCSI  Released – origin field defects per KCSI Defect rate using number of Function Points:  If defects per unit of function is low, then the software should have better quality even though the defects per KLOC value could be higher – when the functions were implemented by fewer lines of code.

Reliability or Defect Rate ? Reliability:  often used with safety-critical systems such as: airline traffic control systems, avionics, weapons. (usage profile and scenarios are better defined) Defect density:  in many commercial systems (systems for commercial use) there is no typical user profile development organizations use defect rate for maintenance cost and resource estimates MTTF is more difficult to implement and may not be representative of all customers.

3.2. Customer Oriented Metrics Customer Problems Metric Customer problems when using the product: valid defects, usability problems, unclear documentation, user errors. Problems per user month (PUM) metric: PUM = TNP/ TNM TNP: Total number of problems reported by customers for a time period TNM: Total number of license-months of the software during the period = number of install licenses of the software x number of months in the period

Customer satisfaction metrics Often measured on the five-point scale: 1.Very satisfied 2.Satisfied 3.Neutral 4.Dissatisfied 5.Very dissatisfied IBM: CUPRIMDSO (capability/functionality, usability, performance, reliability, installability, maintainability, documentation /information, service and overall) Hewlett-Packard: FURPS (functionality, usability, reliability, performance and service)

Metrics: –Percent of completely satisfied customers –Percent of satisfied customers –Percent of dissatisfied customers –Percent of no satisfied customers Net Satisfaction Index (NSI) Completely satisfied = 100% (all customers are completely satisfied) Satisfied = 75% (all customers are satisfied or 50% are completely satisfied and 50% are neutral)! Neutral = 50% Dissatisfied= 25% Completely dissatisfied=0%(all customers are completely dissatisfied)