CS 490M Software Testing

Fall 2006

Background and Objectives

Software testing is an integral and important activity in every software development environment. Software seems to have has permeated almost every equipment that we use in our daily lives. Companies that produce embedded systems for use in health care, transportation, and other critical segments of our society have embraced model based software testing by integrating them into their development environments.

This course is designed to enable a clear understanding and knowledge of the foundations, techniques, and tools in the area of software testing and its practice in the industry. The course will prepare students to be leaders in software testing. Whether you are a developer or a tester, you must test software. This course is a unique opportunity to learn strengths and weaknesses of a variety of software testing techniques.

Applications of 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) Test process and continuous quality improvement

(b) Test generation from requirements

(c) Modeling techniques: UML: FSM and Statecharts, Combinatorial design; and others.

(d) Test generation from models.

(e) Test adequacy assessment.

(f) Industrial applications.

Discussion oriented lectures by the instructor, in-class group presentations by teams, laboratory exercises using advanced testing tools, 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; software test proces and continuous quality improvement; Test generation using finite state models, 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 three or four, preferably interdisciplinary, and make presentations to the class.The work of each team will be reviewed by the instructor and other teams.

Prerequisites: Senior in CS or ECE.

Credits: 3

Textbook: Foundations of Software Testing, Draft V3.0. Available at:

Copymat Printing Services
Attn: Richard Abrahmson
135 South Chauncy
West Lafayette, IN 47906. USA

Phone: 765-743-5995 Fax: 765-743-7015 email:copymatinc@yahoo.com

Last Update: August 14, 2006