Verification and Validation

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

Access to OLE

https gitlab repo of the Course

Course Presentation Form CPF

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



TDD and code coverage

27.02.2018

08:30

10:30

Introduction to the course / Verification and Validation

LECT

02.03.2018

10:45

12:45

Dependability properties

LECT

02.03.2018

14:00

16:00

Intro to Category Partition Testing

LAB

06.03.2018
08:30
10:30
Dependability properties

LECT

09.03.2018
10:45
12:45
Principle of program analysis and testing/ Fundamental of Testing

LECT

09.03.2018
14:00
16:00
CPT with company sample

LAB

13.03.2018
08:30
10:30
Visit to WP

LAB

16.03.2018
14:00
16:00
CPT with company sample

LAB

20.03.2018
08:30
10:30
Fundamental of Testing / Test Design

LECT

23.03.2018
10:45
12:45
Testing types / Functional Testing

LECT

23.03.2018
14:00
16:00
Analyse user's scenarios

LAB

27.03.2018
08:30
10:30
White White Box Testing and Scaffolding / Test with annotation

LECT

03.04.2018
08:30
10:30
Models to Design Tests

LECT

06.04.2018
10:45
12:45
TDD and code coverage

LECT

06.04.2018
14:00
16:00
Define input partition

LAB

10.04.2018
08:30
10:30
Midterm

LECT

13.04.2018
10:45
12:45
Intro to reliability

LECT

13.04.2018
14:00
16:00
Define input variables

LAB

17.04.2018
08:30
10:30
Basic concepts

LECT

20.04.2018
10:45
12:45
Failure modelling

LECT

20.04.2018
14:00
16:00
Define input categories

LAB

24.04.2018
08:30
10:30
Repairable systems

LECT

27.04.2018
10:45
12:45
Stochastic models

LECT

27.04.2018
14:00
16:00
Define categories' representative values

LAB

04.05.2018
10:45
12:45
Stochastic models and Reliability growth

LECT

04.05.2018
14:00
16:00
Annotate values

LAB

08.05.2018
08:30
10:30
Random counting variable

LECT

11.05.2018
10:45
12:45
Test implementation WP

LECT

11.05.2018
14:00
16:00
Test implementation WP

LAB

15.05.2018
08:30
10:30
Poisson Processes

LECT

18.05.2018
10:45
12:45
Test implementation WP

LECT

18.05.2018
14:00
16:00
Test implementation WP

LAB

22.05.2018
08:30
10:30
Software reliability growth models

LECT

24.05.2018
14:00
16:00
Software reliability growth models

LECT

25.05.2018
14:00
16:00
Course Recap

LECT

25.05.2018
14:00
16:00
Test execution WP

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