©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2000CS 365 Critical Systems ValidationSlide 1 Chapter 21 Critical Systems Validation.
Advertisements

Chapter 24 Quality Management.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Critical Systems Validation IS301.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Lecture 8: Testing, Verification and Validation
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
Critical Systems Validation CIS 376 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Critical systems development
Software Testing and Quality Assurance
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Modified from Sommerville’s originals Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation.
Soft. Eng. II, Spr. 2002Dr Driss Kettani, from I. Sommerville1 CSC-3325: Chapter 9 Title : Reliability Reading: I. Sommerville, Chap. 16, 17 and 18.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 10 Slide 1 Formal Specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Formal Specification.
Chapter 3 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Software Dependability CIS 376 Bruce R. Maxim UM-Dearborn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Reliability Categorising and specifying the reliability of software systems.
CSCI 5801: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Software Engineering DKT 311 Lecture 11 Verification and critical system validation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 2Slide 1 Chapter 2 Computer-Based System Engineering As modified by Randy Smith.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 3 Slide 1 Critical Systems 1.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
This chapter is extracted from Sommerville’s slides. Textbook chapter
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Software Testing and Quality Assurance Software Quality Assurance 1.
Verification and Validation Assuring that a software system meets a user's needs.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 1.
Chapter 10 Verification and Validation of Simulation Models
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2000Dependability Slide 1 Chapter 16 Dependability.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
Hardware & Software Reliability
Software Reliability Definition: The probability of failure-free operation of the software for a specified period of time in a specified environment.
Critical Systems Validation
Critical Systems Validation
Testing and Test-Driven Development CSC 4700 Software Engineering
Presentation transcript:

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 2 Objectives l To explain how system reliability can be measured and how reliability growth models can be used for reliability prediction l To describe safety arguments and how these are used l To discuss the problems of safety assurance l To introduce safety cases and how these are used in safety validation

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 3 Validation of critical systems l The verification and validation costs for critical systems involves additional validation processes and analysis than for non-critical systems: The costs and consequences of failure are high so it is cheaper to find and remove faults than to pay for system failure; You may have to make a formal case to customers or to a regulator that the system meets its dependability requirements. This dependability case may require specific V & V activities to be carried out.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 4 Validation costs l Because of the additional activities involved, the validation costs for critical systems are usually significantly higher than for non- critical systems. l Normally, V & V costs take up more than 50% of the total system development costs.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 5 Reliability validation l Reliability validation involves exercising the program to assess whether or not it has reached the required level of reliability. l This cannot normally be included as part of a normal defect testing process because data for defect testing is (usually) atypical of actual usage data. l Reliability measurement therefore requires a specially designed data set that replicates the pattern of inputs to be processed by the system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 6 The reliability measurement process

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 7 Reliability validation activities l Establish the operational profile for the system. l Construct test data reflecting the operational profile. l Test the system and observe the number of failures and the times of these failures. l Compute the reliability after a statistically significant number of failures have been observed.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 8 Statistical testing l Testing software for reliability rather than fault detection. l Measuring the number of errors allows the reliability of the software to be predicted. Note that, for statistical reasons, more errors than are allowed for in the reliability specification must be induced. l An acceptable level of reliability should be specified and the software tested and amended until that level of reliability is reached.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 9 Reliability measurement problems l Operational profile uncertainty The operational profile may not be an accurate reflection of the real use of the system. l High costs of test data generation Costs can be very high if the test data for the system cannot be generated automatically. l Statistical uncertainty You need a statistically significant number of failures to compute the reliability but highly reliable systems will rarely fail.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 10 Operational profiles l An operational profile is a set of test data whose frequency matches the actual frequency of these inputs from ‘normal’ usage of the system. A close match with actual usage is necessary otherwise the measured reliability will not be reflected in the actual usage of the system. l It can be generated from real data collected from an existing system or (more often) depends on assumptions made about the pattern of usage of a system.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 11 An operational profile

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 12 Operational profile generation l Should be generated automatically whenever possible. l Automatic profile generation is difficult for interactive systems. l May be straightforward for ‘normal’ inputs but it is difficult to predict ‘unlikely’ inputs and to create test data for them.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 13 Reliability prediction l A reliability growth model is a mathematical model of the system reliability change as it is tested and faults are removed. l It is used as a means of reliability prediction by extrapolating from current data Simplifies test planning and customer negotiations. You can predict when testing will be completed and demonstrate to customers whether or not the reliability growth will ever be achieved. l Prediction depends on the use of statistical testing to measure the reliability of a system version.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 14 Equal-step reliability growth

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 15 Observed reliability growth l The equal-step growth model is simple but it does not normally reflect reality. l Reliability does not necessarily increase with change as the change can introduce new faults. l The rate of reliability growth tends to slow down with time as frequently occurring faults are discovered and removed from the software. l A random-growth model where reliability changes fluctuate may be a more accurate reflection of real changes to reliability.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 16 Random-step reliability growth

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 17 Growth model selection l Many different reliability growth models have been proposed. l There is no universally applicable growth model. l Reliability should be measured and observed data should be fitted to several models. l The best-fit model can then be used for reliability prediction.

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 18 Reliability prediction

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 19 Key points l Because of the high costs of system failure, the costs of critical systems validation is usually much higher than for non-critical application systems l Reliability measurement relies on exercising the system using an operational profile - a simulated input set which matches the actual usage of the system. l Reliability growth modelling is concerned with modelling how the reliability of a software system improves as it is tested and faults are removed.