20
1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

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

  • View
    215

  • Download
    1

Embed Size (px)

Citation preview

Page 1: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

1

Software Testing and Quality Assurance

Lecture 36 – Software Quality Assurance

Page 2: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

2

Lecture Objectives Markov Models Software Reliability Growth

Page 3: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

3

Markov Models Reliability block diagrams are

Useful for analyzing failure probabilities and reliability over fixed time intervals

We also need to understand How reliability changes over time; Especially in the presence of hardware.

Markov Chain can provide extra information abouthow a system’s reliability changes over time.

Page 4: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

4

Markov Models – stochastic process Random variable are functions that

Assign a number to each outcome in the sample space of an experiment.

In Reliability Models The number of failures at time T which is

discrete, or an integer-valued; OR The time at which the first failure occurs,

which is a continuous, real-valued, random variable.

Page 5: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

5

Markov Models – Example We are interested in Markov systems

We want to explore how the reliability of systems evolves over time.

Finite State Automaton (FSA)

Page 6: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

6

Markov Models – Example There are two states of interest in the

automation Functioning state; and Failed state.

The transitions in the automation are not labeled with events Labeled with probabilities.

Page 7: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

7

Markov Models – Example Each λ is the probability of making a

transition from one state to the next Within a specified time interval.

For the simple model of failure processes, we can interpret the states and probabilities over a time interval T

Page 8: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

8

Markov Models – Example

Page 9: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

9

Transition Matrix for the two State Model

We can represent the probabilities for the simple two model as a matrix.

Page 10: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

10

Transition Matrix for the two State Model

Transition Matrix for the Markov Chain

Page 11: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

11

Software Reliability Growth Collection of techniques for estimating

reliability as a program is being developed and tested. Components/modules are tested and their

failure rates are measured.

Page 12: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

12

Software Reliability Growth Failure rate of a component is the

number of failures observed per unit time. Failure rates are plotted against reliability

models to determine How much more development time is

required to reach acceptable levels of reliability.

Page 13: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

13

Software Reliability Growth Measure Reliability

Through random testing. Not specifically aimed at uncovering faults

in a program, although it will certainly help to uncover any faults.

It aims at providing a random sample of inputs for the purpose of estimating a program’s reliability.

Page 14: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

14

Software Reliability Growth Reliability Growth Models

Assumes that as development and testing continues

The failure rates experienced should decrease.

If failure rates are decreasing then the reliability should be increasing.

If the failure rates are not decreasing then there may Be something wrong with our testing and development process

Page 15: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

15

Software Reliability Growth – Basic Execution Time Model

Reliability depends on: The failure intensity λ(T) at time T and The execution time itself.

Failure intensity is defined as The failures experienced per unit time.

Page 16: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

16

Software Reliability Growth – Basic Execution Time Model

Relation between failure rates and reliability is given by:

Where e is Euler’s number (the base of the natural logarithm).

Reliability is approximated by an inverse exponential Function of time and failure intensity.

Page 17: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

17

Software Reliability Growth – Basic Execution Time Model

As the failure intensity λ approaches 0 Then R(T) approaches 1; and

As the failure intensity approaches ∞ Then R(T) approaches 0.

Even if we reached a low reliability estimate, the longerthat a system is required toe execute without

Failure, the lower the reliability R (T) becomes.

Page 18: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

18

Software Reliability Growth – Basic Execution Time Model

Obtaining Failure Data Test cases are selected randomly We can not predict what the next test case

selected will be. In reliability measurement, to get

meaningful results, test cases are selected according to the patterns of usage of the program.

Page 19: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

19

Software Reliability Growth – Basic Execution Time Model

Four ways of estimating failure intensity The time of the failure; The failures experienced in a specified

time interval; The time interval between failures; The cumulative failures experienced up to

a specified time.

Page 20: 1 Software Testing and Quality Assurance Lecture 36 – Software Quality Assurance

20

Key points Markov Models – stochastic process

Transition Matrix for the two State Model Software Reliability Growth

Basic Execution Time Model