Software Reliability and Testing

Course Goal: Students will learn methods and techniques of software testing and reliability. They will be able:  to select the appropriate testing techniques for a specific purpose and evaluate the technique for false positive and negative output;  to select the most suitable technique to build testing suites;  to model and predict software reliability by mining big data; to make predictions by means of statistical models like stochastic processes or Markov Chains. Students will be able to discuss Software Reliability Growth models and measures of accuracy and prediction of the models according to a model classification (e.g., Musa-Okumoto). They will be able to interpret the reliability models, select the most appropriate for a given environment, interpret the reliability forecasts, and evaluate the stability of the prediction models.
Timetable

Course Presentation Form CPF

Office hours: Tuesdays 14:00 - 16:00 POS 116

Quiz 1

28.02.2017

08:30

10:30

Introduction to the course

LECT

03.03.2017

10:30

12:30

Fundamentals of Testing

LECT

03.03.2017

14:00

16:00

Project presentation – team forming

LAB

07.03.2017

08:30

10:30

Validation and Verification

LECT

10.03.2017

10:30

12:30

Dependability properties

LECT

10.03.2017

14:00

16:00

Project Task 1

LAB

14.03.2017

08:30

10:30

Basic principles for testing techniques

LECT

17.03.2017

10:30

12:30

Examples of analysis and testing techniques

LECT

17.03.2017

14:00

16:00

LabQuiz 1 and task 1 completion

LAB

21.03.2017

08:30

10:30

Quiz 1   - Quiz1_Answers. Examples of analysis and testing techniques

LECT

24.03.2017

10:30

12:30

Test specifications and cases

LECT

24.03.2017

14:00

16:00

Task 2 development

LAB

28.03.2017

08:30

10:30

Techniques for white box testing

LECT

31.03.2017

10:30

12:30

Techniques for white box testing

LECT

31.03.2017

14:00

16:00

Task 2 development

LAB

04.04.2017

08:30

10:30

Quiz 2   - Quiz2_Answers Techniques for black box testing or functional testing

LECT

07.04.2017

10:30

12:30

Techniques for black box testing or functional testing

LECT

07.04.2017

14:00

16:00

LabQuiz 2 and task 2 completion

LAB

11.04.2017

08:30

10:30

Reliability – basic concepts

LECT

18.04.2017

08:30

10:30

Failure modelling

LECT

21.04.2017

10:30

12:30

Midterm

LECT

21.04.2017

14:00

16:00

Task 3 development

LAB

28.04.2017

10:30

12:30

Midterm review

LECT

02.05.2017

08:30

10:30

Repairable systems

LECT

05.05.2017

10:30

12:30

Stochastic models and Markov Chains

LECT

05.05.2017

14:00

16:00

Task 3 development

LAB

09.05.2017

08:30

10:30

Quiz 3. - Quiz 3 answers Stochastic models and Markov Chains - examples

LECT

12.05.2017

10:30

12:30

Stochastic models and Markov Chains - examples

LECT

16.05.2017

08:30

10:30

Building Markov Chains - exercises

LECT

19.05.2017

10:30

12:30

The random counting variables of repairable systems

LECT

19.05.2017

14:00

16:00

Task 3 completion

LAB

23.05.2017

08:30

10:30

Quiz 4. - Quiz 4 answers Software reliability growth models

LECT

26.05.2017

10:30

12:30

Software reliability growth models - Course Recap

LECT

26.05.2017

14:00

16:00

Task 4 development

LAB

30.05.2017

14:00

16:00

Task 4 development

LAB

01.06.2017

14:00

16:00

LabQuiz 4 and task 4 completion

LAB


    Major References:

    Main reference for testing: Pezzè & Young, Software Testing and Analysis: Process, Principles and Techniques,Wiley, 2007. University Shelf ST 233 P522, Chap.1-4, 5-6 8-12 17, access from unibz library 15-Textbook Collection ST 233

    The slides of the book are available at Young's web page

    Main reference to review statistic background Baron, M. Probability and Statistics for computer Scientists Chapmall and Hall, ISBN: 1584886412  University shelf: 15 ST 340 B265(.07). Chapter 1-3 and chapter 6, access from safari book on line

    Main reference for Dynamic Systems: Rigdon E.S. and Basu A.P. Statistical methods for the reliability of repairable systems Wiley series in probability and statistics. Chapter 1-3

    Main reference for reliability: Lyu, M. (ed.) Handbook of Software Reliability Engineering, IEEE Computer Society Press, 1996 Chapter on SRGM