CS 590T Model Based Software Testing

Fall 2005

Background and Objectives

Model-based testing has gained a significant momentum in the industry. Companies that produce embedded systems for use in health care, transportation, and other critical segments of our society have embraced model based testing by integrating them into their development environments.

This unique course is designed to enable a clear understanding and knowledge of the foundations, techniques, and tools in the area of model-based testing and its practice in the industry.

Applications of model-based testing techniques in health care industry (e.g. pacemaker), nuclear industry (e.g. plant control), aerospace industry (e.g. Mars Polar lander), security (e.g. smart card), automobile industry (e.g. automotive control systems), and others will be considered.

The course will focus on:

(a) Modeling techniques: UML: FSM and Statecharts; Timed automata; Logic Constraints; Z; Petri nets; Combinatorial design; and others.

(b) Test generation from models.

(c) Test adequacy assessment.

(d) Industrial applications.

Discussion oriented lectures by the instructor, in-class group presentations by interdisciplinary teams, and invited talks by experts from the industry will be the primary mechanisms for learning and the dissemination of knowledge.

Course description:

Fundamentals of software testing; Test generation using finite state models, Statecharts, Timed automata, Constraint Logic, Petri nets, Z, Combinatorial design, and others; Test adequacy assessment using black box and white box criteria; Industrial applications of model based testing. Students will be required to form small teams of two or three, preferably interdisciplinary, and make in-class presentations based on a selected topic in model based testing. The work of each team will be reviewed by the instructor and other teams.


Graduate student or senior in CS or any engineering discipline.

Credits: 3

Last Update: April 20. 2005