SubjectsSubjects(version: 945)
Course, academic year 2016/2017
   Login via CAS
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 2015 to 2017
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: taught
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
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.
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 presented by focusing on three main areas: testing of logical expressions, test generation from FSMs, and input space partitioning and combinatorial testing. 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: in particular, approaches for doing design by contract and runtime verification of Java programs are presented.

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) Input Space Partitioning and Combinatorial Testing

4) Online model-based testing

4.1) Design by contract

4.2) Runtime verification

 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html