Model-based testing - NSWI157
Title: Model-based testing
Guaranteed by: Department of Distributed and Dependable Systems (32-KDSS)
Faculty: Faculty of Mathematics and Physics
Actual: from 2019
Semester: winter
E-Credits: 4
Hours per week, examination: winter s.:2/1, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
4EU+: no
Virtual mobility / capacity: no
State of the course: cancelled
Language: English
Teaching methods: full-time
Teaching methods: full-time
Guarantor: Paolo Arcaini, Ph.D.
Class: Informatika Bc.
Informatika Mgr. - volitelný
Classification: Informatics > Software Engineering
Opinion survey results   Examination dates   Schedule   Noticeboard   
Annotation -
Last update: Tajemník Katedry (22.04.2015)
In model-based testing (MBT), formal specifications (e.g., FSMs, B models, ASMs, ...) are used to support the testing efforts; in particular, test cases (consisting of both the test data and the oracle) are automatically generated from specifications. Basic knowledge of Java is expected. The course is taught in English.
Course completion requirements
Last update: Paolo Arcaini, Ph.D. (10.10.2017)

The exam is composed of two parts: homework and written exam.

Two or three homework will be assigned during the course; the homework require the use of the tools described during the course. The deadline for the homework will be in January, before the written exam.

The written exam consists in some open questions and some exercises on the topics of course.

The zápočet consists in a presentation (like a seminar) that the student must present during one of the last classes of the course. The topic for the seminar can be the description of a research paper or of a tool.

Literature -
Last update: Tajemník Katedry (22.04.2015)

M. Utting and B. Legeard. Practical Model-Based Testing: A Tools Approach. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2006.

P. Ammann and J. Offutt. Introduction to Software Testing (1 ed.). Cambridge University Press, New York, NY, USA, 2008.

M. Young and M. Pezze. Software Testing and Analysis: Process, Principles and Techniques. John Wiley & Sons, 2005.

Syllabus -
Last update: Tajemník Katedry (21.04.2017)

Software testing consists in the verification of a program on a finite number of selected executions. In model-based testing (MBT), formal specifications (e.g., FSMs, B models, ASMs, ...) are used to support the testing efforts; in particular, test cases (consisting of both the test data and the oracle) are automatically generated from specifications. The course first introduces concepts on testing and program-based testing. Then, model-based testing is described, mainly focusing on the following topics: testing of logical expressions, test generation from FSMs, combinatorial testing, and feature modeling. Model-based testing is usually considered an "offline" testing technique. The last part of the course introduces some approaches of "online" model-based testing, in which specifications are executed together with the implementation.

The course consists of both theoretical and laboratory lessons.

Syllabus

1) Introduction to testing

1.1) Different kinds of testing

1.2) Basic concepts, limits of testing

2) Program-based testing

2.1) Coverage criteria: instruction, decision, and condition coverage

2.2) Unit testing

3) Model-based testing

3.1) Theory of model-based testing

3.2) Logic Coverage

3.3) FSM-based testing

3.4) Test case generation using model checkers

3.5) Input Space Partitioning and Combinatorial Testing

3.6) Feature modeling

4) Online model-based testing

4.1) Design by contract