SWE 637 In Class Exercise #0
Introduction to Software Testing

Goal: Begin to understand the many facets of the testing process.

This exercise touches on many of the topics we will address this semester. Don't be concerned if part of this exercise seem "fuzzy" now; by the end of the course, you will understand why I put each of the questions into the exercise.
Instructions: Work with your neighbors in groups.
Consider testing a system which is supposed to implement the following constraints:
If the light is red and the valve is open, release the monster.
If the valve is open and the switch is on, release the monster.
  1. From a practical perspective, what don't you want to have happen while you are testing this system? What is a standard way to avoid this problem?

  2. What, exactly, do these constraints mean? In other words, formalize the problem. There are multiple possible answers.

  3. How many different cases are possible, and what is the outcome in each case? There are multiple possible answers: choose the simplest.

  4. Model what could go wrong. There are multiple possible answers.

  5. How many different cases do you want to test? Justify your choices.