Testing Metrics Software Reliability

Slides:



Advertisements
Similar presentations
Time-Aware Test Suite Prioritization Kristen R. Walcott, Mary Lou Soffa University of Virginia International Symposium on Software Testing and Analysis.
Advertisements

1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
Chapter 4 Quality Assurance in Context
Relex Reliability Software “the intuitive solution
Stoimen Stoimenov QA Engineer SitefinityLeads, SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
1 Estimating Software Development Using Project Metrics.
1 In-Process Metrics for Software Testing Kan Ch 10 Steve Chenoweth, RHIT Left – In materials testing, the goal always is to break it! That’s how you know.
Software Reliability Engineering
1 Software Reliability Growth Models Incorporating Fault Dependency with Various Debugging Time Lags Chin-Yu Huang, Chu-Ti Lin, Sy-Yen Kuo, Michael R.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
1 Test Planning CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 9, 2007.
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
SIM5102 Software Evaluation
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 Testing and Quality Assurance: Introduction and Terminology
1 Fundamentals of Reliability Engineering and Applications Dr. E. A. Elsayed Department of Industrial and Systems Engineering Rutgers University
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”.
LSU 10/09/2007Project Schedule1 The Project Schedule Project Management Unit #4.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Software Integration and Documenting
Overview Software Quality Assurance Reliability and Availability
Models for Software Reliability N. El Kadri SEG3202.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
ECE 355: Software Engineering
System Testing There are several steps in testing the system: –Function testing –Performance testing –Acceptance testing –Installation testing.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 15 Software Reliability
 The software systems must do what they are supposed to do. “do the right things”  They must perform these specific tasks correctly or satisfactorily.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
1SAS 03/ GSFC/SATC- NSWC-DD System and Software Reliability Dolores R. Wallace SRS Technologies Software Assurance Technology Center
Software Reliability SEG3202 N. El Kadri.
Balamurali L Senior SQA Manager Diana Ambrose Senior Lead SQA Arun Kumar V Senior Engineer QA
CS4723 Software Validation and Quality Assurance Lecture 15 Advanced Topics Test Plans and Management.
Software Engineering Software Process and Project Metrics.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Software Measurement & Metrics
Testing Workflow In the Unified Process and Agile/Scrum processes.
Chapter 19: Quality Models and Measurements  Types of Quality Assessment Models  Data Requirements and Measurement  Comparing Quality Assessment Models.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Lecture 4 Software Metrics
Ch. 1.  High-profile failures ◦ Therac 25 ◦ Denver Intl Airport ◦ Also, Patriot Missle.
Software Reliability (Lecture 13) Dr. R. Mall. Organization of this Lecture: $ Introduction. $ Reliability metrics $ Reliability growth modelling $ Statistical.
Reliability & Maintainability Engineering An Introduction Robert Brown Electrical & Computer Engineering Worcester Polytechnic Institute.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Software Reliability Research Pankaj Jalote Professor, CSE, IIT Kanpur, India.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Introduction to Measurement. According to Lord Kelvin “When you can measure what you are speaking about and express it in numbers, you know something.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Reliability “The most important dynamic characteristic of most software systems..” Sommerville (5th ed.) p365.
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.
M ANAGKEMENT COMPONENTS OF SOFTWARE QUALITY. S OFTWARE QUALITY METRICS Chapter 21.
Chapter 9 Testing the System 9.1 Principles of System Testing Focus A: The objective of unit and integration ensure the code implemented the design.
Hardware & Software Reliability
CSC 480 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.
Verification & Validation
Software Reliability: 2 Alternate Definitions
Software Reliability (Lecture 12)
Software metrics.
Presentation transcript:

Testing Metrics Software Reliability CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology April 5, 2007

Outline Testing Metrics An Important Metric: Reliability

Common Metrics Product Process KLOC Function Points #Bugs Staff hours thousands of lines of code need to remove comment lines? Function Points #Bugs Process Staff hours Tests planned Tests passed

Bug Density Measure #Bugs/KLOC Expect different densities at different stages of a project May categorize bugs by severity

Example Bug Density

Cartoon of the Day (1/3)

Using Bug Metrics Count bugs discovered during each phase of a project Compare to previous projects provides estimates of expected values at each phase -- could use to set milestone deviation of more than 20% from expected indicates need for investigation

Analysis of Bug Data Root cause analysis Trend analysis Search for explanations Might look at other process data (effort, experience of team, etc.) Trend analysis Make predictions from current data

Reliability

Failures vs. Faults Fault: Failures: developer-oriented 6 faults/1000 source lines Failures: customer-oriented 3 failures/1000 CPU hours

Calculating Reliability probability of failure-free operation for a specified time interval 0.82 for 8 CPU hours Failure Intensity number of observed failures within a specified time interval 3 failures/1000 CPU hours

Factors Influencing Reliability Fault removal by error correction (debugging) Fault introduction by error correction (unintended) by new feature development Operational profile

Operational Profile Probability of Use Functions

Example Function Usage Probability Distribution Interval Change 32% 0-31 Delete 14% 32-45 Insert 46% 46-91 Print 8% 92-99

Test Generation Test Random Numbers Test Cases 1 29, 11, 47, 52, 26, 94 C, C, I, I, C, P 2 62, 98, 39, 78, 82, 65 I, P, D, I, I, I 3 83, 32, 58, 41, 36, 17 I, D, I, D, D, C 4 36, 49, 96, 82, 20, 77 D, I, P, I, C, I

Test Compression Real use of a product involves repetitive operations different users invoke the same operations same user invokes the same operations on different days Redundant tests waste computer and personnel time Compression: when generating random tests, do not duplicate previous tests

Cartoon of the Day (2/3)

Cartoon of the Day (3/3)

Curve Fitting Reliability models focus on failure removal Use a random process to model the failure removal process

Execution Time Model Failure Intensity Execution Time Goal

Resource Constraints Early phase of a project Middle phase Late phase constrained by availability of developers (debuggers) Middle phase constrained by availability of testers Late phase constrained by availability of machines may run tests in parallel to increase number of tests per CPU hour

Adjusting for Calendar Time Estimate resource usage during each phase of the project Model calculates failure intensity in terms of execution time Model adjusts fault removal rate according to resource constraints

Calendar Time Component Constrained by debuggers Failure Intensity Constrained by testers Constrained by machines Goal Execution Time

Calculating CalendarTime/ExecutionTime Ratio 10 staff-hours to fix each failure 2 failures/CPU-hr That means it will take 10 * 2 = 20 staff-hrs per CPU-hr Suppose you have 5 developers Then you have 20 / 5 = 4 hrs per CPU-hr Each CPU-hr will take 4 calendar hours

Estimating Completion Establish a failure intensity objective Record execution times of failures Run model to estimate reliability Model reports estimated completion date Values are not absolute---within confidence bounds

Estimating Completion Failure Intensity Calendar Time Goal Ship Date

Acceptance Charts Bugs Reject Continue Testing Accept Time