1 Software Testing and Quality Assurance Lecture 34 – Software Quality Assurance.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 2.
Advertisements

Chapter 4 Quality Assurance in Context
1 SW Project Management (Planning & Tracking) Dr. Atef Z Ghalwash Faculty of Computers & Information Helwan University.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance.
Overview Lesson 10,11 - Software Quality Assurance
SE 450 Software Processes & Product Metrics Reliability: An Introduction.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
1 Software Testing and Quality Assurance Lecture 37 – Software Quality Assurance.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
1 Software Testing and Quality Assurance Lecture 35 – Software Quality Assurance.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software Testing and QA Theory and Practice (Chapter 15: Software Reliability) © Naik & Tripathy 1 Software Testing and Quality Assurance Theory and Practice.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
Software Reliability Growth. Three Questions Frequently Asked Just Prior to Release 1.Is this version of software ready for release (however “ready” is.
Software Reliability Categorising and specifying the reliability of software systems.
CSCI 5801: Software Engineering
Software Faults and Fault Injection Models --Raviteja Varanasi.
Achieving Better Reliability With Software Reliability Engineering Russel D’Souza Russel D’Souza.
Chapter 2 What is software quality ?. Outline What is software? Software errors, faults and failures Classification of the causes of software errors Software.
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”
Software Project Management
N By: Md Rezaul Huda Reza n
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
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.
Software Reliability SEG3202 N. El Kadri.
1 Software Testing and Quality Assurance Lecture 33 – Software Quality Assurance.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
PMIT-6102 Advanced Database Systems By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Software Metrics and Reliability. Definitions According to ANSI, “ Software Reliability is defined as the probability of failure – free software operation.
Practical Byzantine Fault Tolerance
Building Dependable Distributed Systems Chapter 1 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Software Testing and Quality Assurance Software Quality Assurance 1.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Software Reliabilty1 Software Reliability Advanced Software Engineering COM360 University of Sunderland © 1998.
Software Testing and Quality Assurance Software Quality Assurance 1.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
1 Fault-Tolerant Computing Systems #1 Introduction Pattara Leelaprute Computer Engineering Department Kasetsart University
SENG521 (Fall SENG 521 Software Reliability & Testing Overview of Software Reliability Engineering Department of Electrical.
Software Engineering Lecture 8: Quality Assurance.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
1 Controls in Strategic management Dr. Fred Mugambi Mwirigi JKUAT.
V-Shaped Software Development Life Cycle Model. Introduction: Variation of water fall model. Same sequence structure as water fall model. Strong emphasis.
1 Software Testing and Quality Assurance Lecture 38 – Software Quality Assurance.
CS223: Software Engineering Lecture 25: Software Testing.
Software Metrics and Reliability
Testing Tutorial 7.
Software Verification and Validation
Software Project Management
Fault Tolerance & Reliability CDA 5140 Spring 2006
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.
Operating System Reliability
Operating System Reliability
Software Reliability: 2 Alternate Definitions
Software Reliability Models.
COP 5611 Operating Systems Fall 2011
Operating System Reliability
Operating System Reliability
Faults and fault-tolerance
COP 5611 Operating Systems Spring 2010
Operating System Reliability
Operating System Reliability
Operating System Reliability
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 34 – Software Quality Assurance

2 Lecture Objectives What is Software Reliability? Classify Failures Software Reliability Engineering

3 What is Software Reliability? Consider two simple systems consisting of two writers and a reader communicating via a shared memory on a bus. Suppose probability of failure of each channel of the bus is per operational hour.

4 What is Software Reliability?

5 For a single channel bus The probability of a bus failure, such as message becoming corrupt or the bus failing to transmit a message is ‘one failure every 11.4 years’. If we add the second channel then the failure probability decreases to One failure every 1,114,552 years, because both channels must fail at the same time for this to occur.

6 What is Software Reliability?

7 We have to be careful in not over interpreting these numbers. While improvement is significant, after all, It is only a probability. The definition of reliability depends heavily on determining, and in practice detecting, failures.

8 Classifying Failures Examples of failures include Functional failures – where the actual behavior of the system deviates from the specified functional behavior. Timing failures – where the program may deliver correct results but the program fails to meet its timing requirements. Safely failures – where an accident resulting in harm or injury is deemed to be a failure of the system.

9 Classifying Failures In practice, we need A way of observing failures; and Logging each failure as it arises. We also need A way of determining the time at which a failure occurs – called failure time; Or The rate at which failure occur – called failure rate. Assurance that the estimates are accurate

10 Classifying Failures Transient Failure Program gives incorrect result, but the program continues to execute. Hard Failure Program crashes (stack overrun….)

11 Classifying Failures Cascaded Failure Program crashes and takes down other programs Catastrophic Failure Program crashes and takes down the operating system or the entire system; A total system failure.

12 Software Reliability Engineering (SRE) PhaseSRE Activities Requirements Determine the functional profile of the system Determine and classify important failures Identify client reliability needs Conduct trade-off studies. Set reliability objectives.

13 Software Reliability Engineering (SRE) PhaseSRE Activities Design Design and evaluate systems to meet reliability goals. Allocate reliability targets to components

14 Software Reliability Engineering (SRE) PhaseSRE Activities Implementation Measure and monitor the reliability during implementation. Manage fault introduction and propagation.

15 Software Reliability Engineering (SRE) PhaseSRE Activities System and Field Testing Measure reliability growth (using reliability growth models). Track testing progress against reliability growth.

16 Software Reliability Engineering (SRE) PhaseSRE Activities Post-delivery & Maintenance Monitor field reliability against reliability objectives.

17 Software Reliability Engineering (SRE) – Some Observations Activities of SRE span the entire software development process But the activities themselves do not constitute a development process. Activities themselves need to be supported by Analytical tools – reliability models Evaluation methods – Markov Chains.

18 Software Reliability Engineering (SRE) – Some Observations Design and implementation reliable systems is supported by design principles and algorithms For example, from the discipline of “Fault tolerant systems”.

19 Key points Reliability depends heavily on determining, and in practice, detecting failures. Generally, four types of failures. Software Reliability Engineering Span the entire software development process