Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.

Slides:



Advertisements
Similar presentations
Test Execution and Defect management. 2 Module Objectives Introduction to Test Execution Checklist of Test Execution Defect management Defect Classification.
Advertisements

Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
What causes bugs? Joshua Sunshine. Bug taxonomy Bug components: – Fault/Defect – Error – Failure Bug categories – Post/pre release – Process stage – Hazard.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Reliability and Software metrics Done by: Tayeb El Alaoui Software Engineering II Course.
Unit 251 Implementation and Integration Implementation Unit Testing Integration Integration Approaches.
Lifecycle of Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 6, 2007.
DAIMIHenrik Bærbak Christensen1 Testing Terminology.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Planning and Tracking Software Quality Yordan Dimitrov Telerik Corporation
 Software Software  Program vs Software Products Program vs Software Products  Software Characteristics Software Characteristics  Software Crisis.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Expediting Programmer AWAREness of Anomalous Code Sarah E. Smith Laurie Williams Jun Xu November 11, 2005.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software faults & reliability Presented by: Presented by: Pooja Jain Pooja Jain.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Slide 6.1 CHAPTER 6 TESTING. Slide 6.2 Overview l Quality issues l Nonexecution-based testing l Execution-based testing l What should be tested? l Testing.
1 Advanced Computer Programming Project Management: Software Life Cycle Copyright © Texas Education Agency, 2013.
Software Testing Content Essence Terminology Classification –Unit, System … –BlackBox, WhiteBox Debugging IEEE Standards.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
THE ROLE OF PROCESS IN SOFTWARE QUALITY By K.KARTHIKEYAN.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Planning and Tracking Software Quality.  What Is Software Quality?  Causes of Software Defects  What is Quality Assurance?  Improving the Software.
Unit 8 Syllabus Quality Management : Quality concepts, Software quality assurance, Software Reviews, Formal technical reviews, Statistical Software quality.
Software Metrics - Data Collection What is good data? Are they correct? Are they accurate? Are they appropriately precise? Are they consist? Are they associated.
Software testing basic. Main contents  Why is testing necessary?  What is testing?  Test Design techniques  Test level  Test type  How to write.
Software is:  Computer programs, procedures, and possibly associated documentation and data relates to the operation of a computer system. [IEEE_Std_ ]
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
University of Sunderland CIFM03Lecture 4 1 Software Measurement and Reliability CIFM03 Lecture 4.
This chapter is extracted from Sommerville’s slides. Text book chapter
Software Testing. What is Testing? The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation.
Code Complete Steve McConnell. 20. The Software-Quality Landscape.
Software Metrics Cmpe 550 Fall Software Metrics.
Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998.
Prepared by: Hussein Alhashimi.  This course introduces fundamental concepts related to Quality Assurance and Measurements and Metrics in the software.
Introduction to Testing. Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Hussein Alhashimi. “If you can’t measure it, you can’t manage it” Tom DeMarco,
Principles of Software Engineering: Why Study Software Engineering? COSI 120b, Spring 2005.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
TESTING FUNDAMENTALS BY K.KARTHIKEYAN.
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
MAJOR SOFTWARE FAILURES, WHY THEY FAILED AND LESSONS LEARNED BY AKPABIO UWANA.
1 Chapter 5 Software Reliability Software Engineering: Design, Reliability, and Management, International Std. Edition by Martin L. Shooman.
Introduction to Software Engineering
An Iterative Method For System Integration
Software Metrics and Reliability
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
SEVERITY & PRIORITY RELATIONSHIP
Software Reliability PPT BY:Dr. R. Mall 7/5/2018.
Verification and Testing
Verification and Validation Overview
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
Software Reliability: 2 Alternate Definitions
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
BASIC DEFINITIONS Errors : An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer.
Progression of Test Categories
Baisc Of Software Testing
Welcome to Corporate Training -1
Measurement What is it and why do it? 2/23/2019
Software Reliability It is defined as the ability of a system or component to perform its required functions under stated conditions for a specified period.
Exploring Complexity Metrics as Indicators of Software Vulnerability
Verification and Validation
Presentation transcript:

Software Metrics and Reliability

Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation for a specified period of time in a specified environment”. IEEE defines Reliability as “ The ability of a system or component to perform its required functions under stated conditions for a specified period of time”

Software Reliability and Hardware Reliability Software Reliability It is not a direct function of time Hardware Reliability It is a direct function of time.

Software Reliability Useful LifeobsoleteIntegration and Testing Useful life obsolete

Hardware Reliability Burn In Useful Life Wear Out Useful LifeWear OutBurn In

Faults and Failures FAILURE It is the departure of the external results of program operation from requirements

FAULT A Fault is a defect in a program which arises when programmer makes an error. It Causes Failure when executed under particular conditions

Achieving Reliability Software Reliability can be achieved by using metrics at different stages of software development cycle.

Phases Requirement Phase Design and coding phase Testing phase

Software Metrics For Reliability Requirements Reliability Metrics Design and Code Reliability Metrics Testing Reliability Metrics

Requirements Reliability Metrics A clear understanding between client and developer should exist. Must Contain valid Strucure Must be complete Ease to communicate

Design and Code Reliability Metrics Quality Factors Complexity Size

Testing Reliability Metrics First approach is “ensuring that the system is fully equipped with the functions that are specified in the requirements”. Second approach is “Evaluating the code, Finding the errors and fixing them”.

Conclusion Software Reliability is the probability that the software will work without failure for a specified period of time Achieving the software reliability is hard as the complexity of the software tends to be high Software Reliability can be increased by applying metrics at different stages of software development life cycle.

Thank You

Any Questions?