CIS 573 Fall 2012

Final Exam Study Guide

This document lists the important questions that you should be able to answer about the assigned readings, as well as some other questions brought up in lecture.

Note that there is no implication to be made here regarding the types of questions you will see on the exam, or the level of difficulty.


Part 1: Intro to Software Testing

B. Kitchenham and S.L. Pfleeger, "Software quality: the elusive target" P. Ammann and J. Offutt, Introduction to Software Testing, chapter 1 P.C. Jorgensen, Software Testing: A Craftsman's Approach, chapters 5 and 6 (available in Blackboard) Other topics covered in lecture


Part 2: Testing Strategies, Adequacy, and Verification

L.A. Clarke, "A System to Generate Test Data and Symbolically Execute Programs " J.H. Andrews et al., "Is mutation an appropriate tool for testing experiments?" D. Beyer et al., "The software model checker BLAST" Other topics covered in lecture


Part 3: Reliability and Fault Tolerance

M.R. Lyu, Handbook of Software Reliability Engineering, chapter 1 Z. Xie, H. Sun, and K. Saluja, "A survey of software fault tolerance techniques" Lecture Notes


Part 4: Design Concepts

F. Brooks, "No Silver Bullet" (1987 version) Pressman, Software Engineering: A Practitioner's Approach, Section 9.3 (PDF available in Blackboard) Pressman, Software Engineering: A Practitioner's Approach, Section 6.5 (PDF available in Blackboard) Other topics covered in lecture


Part 5: Refactoring

M. Fowler, Refactoring: Improving the Design of Existing Code, Chapter 2: Principles in Refactoring M. Fowler, Refactoring: Improving the Design of Existing Code, Chapter 3: Bad Smells in Code

You should understand the following "code smells":

M. Fowler, Refactoring: Improving the Design of Existing Code, Chapter 6: Composing Methods and Chapter 7: Moving Features Between Objects

You should understand the following refactoring patterns/techniques:

Other topics covered in lecture


Part 6: Design Metrics and Testability

F. Tsui & O. Karam, Essentials of Software Engineering, chapter 8: Design Characteristics and Metrics (PDF available in Blackboard) R.V. Binder, "Design for testability in object-oriented systems" Other topics covered in lecture


Lecture topics that are NOT on the exam


Last updated: Wed Dec 5, 6:30pm