Task |
Description |
Requirements Tested |
Task 1 |
Unit testing
– Test individual components of each module |
All requirements. |
Task 2 |
Monitor and
Process Inputs Module |
F1 - F6, F4.1.1
– F4.1.6,
F4.2.1 – F4.2.3, F4.2.7 – F4.2.10, F4.3.1, F4.3.3,
F4.4.1
– F4.4.6, F4.5.1 – F4.5.4, F4.5.8.a, and F4.5.12. |
Task 3 |
Clock Module |
F4.1.4, and F4.1.6
– F4.1.9 |
Task 4 |
Timer Module |
F4.2.4 –
F4.2.8 |
Task 5 |
Auto Cook Presets
Module |
F4.3.2, and
F4.3.3.a |
Task 6 |
Auto Defrost Module |
F4.4.6 |
Task 7 |
Cooking Control
Module |
F4.3.3.b, and
F4.5.5 – F4.5.11 |
Test 8 |
Oven Control Module |
F4.5.6, F4.5.7.a,
and F4.5.11.a |
Task 9 |
Display Time Module |
F4.1.4, F4.1.7,
F4.1.6, F4.3.3.b, F4.5.5, F4.5.7.c, and F4.5.8.d |
Task 10 |
Display Power
Module |
F4.5.1 |
Task 11 |
Beeper Module |
F1, F2, F4.2.5,
F4.2.9, F4.5.6, F4.5.8.b, F4.5.10.b, and F4.5.11.b |
Task 12 |
Command Processing
Sub-system |
F1 – F5,
F4.1.1 – F4.1.6,
F4.2.1 – F4.2.10, F4.3.1, F4.3.3, F4.4.1 – F4.4.6,
F4.5.1
– F4.5.4, F4.5.8.a, and F4.5.12. |
Task 13 |
Oven Control
Sub-system |
F4.3.3.b, and
F4.5.5 – F4.5.11 |
Task 14 |
Output Processing
Sub-system |
F1, F2, F4.1.4,
F4.1.7, F4.2.5,
F4.2.6, F4.2.9, F4.3.3.b, F4.5.1, F4.5.5, F4.5.6, F4.5.7.c, F4.5.8.b,
F4.5.8.d, F4.5.10.b, and F4.5.11.b |
Task 15 |
Microwave Oven
System |
All requirements
tested. |
Task 16 |
Acceptance Testing |
All requirements tested. |
Test |
Step |
Action |
Expected Result |
Actual Result |
Pass/Fail |
Problem Report Number |
Test 1 |
Step 1 |
Set cooking time to 00:30 and
push Start button. |
Oven comes on and the displayed
time counts down for 30 seconds to 00:00 at which time the oven shuts
off and the beeper sounds |
|
|
|
Test 2 |
Step 1 |
Set cooking time to 00:30 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 00:30. |
|
|
|
|
Step 2 |
When time equals 00:15 push
Stop/Clear button. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Immediately push Start button.* |
Oven turns back on and time
counts down to 00:00 at which time the oven shuts off and the beeper
sounds |
|
|
|
Test 3 |
Step 1 |
Set cooking time to 00:30 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 00:30. |
|
|
|
|
Step 2 |
When time equals 00:15 push
Stop/Clear button. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Wait approximately 20 seconds.. |
Oven remains off with displayed
time of 00:15 |
|
|
|
|
Step 4 |
Push Start button. |
Oven turns back on and time
counts down to 00:00 at which time the oven shuts off and the beeper
sounds |
|
|
|
Test 4 |
Step 1 |
Set cooking time to 00:30 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 00:30. |
|
|
|
|
Step 2 |
When time equals 00:15 push
Stop/Clear button. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Wait approximately 20 seconds.. |
Oven remains off with displayed
time of 00:15 |
|
|
|
|
Step 4 |
Push Stop/Clear button a second
time. |
Oven remains off, displayed
time changes to 00:00, and the beeper sounds |
|
|
|
Test 5 |
Step 1 |
Set cooking time to 01:00 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 01:00. |
|
|
|
|
Step 2 |
When time equals 00:20 open the
microwave oven door. |
Oven shuts off with 00:20
displayed on LCD screen. |
|
|
|
|
Step 3 |
Wait for approximately 30
seconds. Push Start
button to ensure oven stays off with door opened. |
Oven remains off with 00:20
showing on the LCD screen. |
|
|
|
|
Step 4 |
Close oven door and immediately
push Start button.** |
Oven turns back on and time
counts down to 00:00 at which time the oven shuts off and the beeper
sounds |
|
|
|
Test 6 |
Step 1 |
Set cooking time to 01:00 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 01:00. |
|
|
|
|
Step 2 |
When time equals 00:15 open the
oven door. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Wait approximately 20 seconds. |
Oven remains off with displayed
time of 00:15 |
|
|
|
|
Step 4 |
Close the oven door and wait
another 20 seconds. |
Oven remains off with displayed
time of 00:15 |
|
|
|
|
Step 5 |
Push the Start button. |
Oven turns back on and time
counts down to 00:00 at which time the oven shuts off and the beeper
sounds |
|
|
|
Test 7 |
Step 1 |
Set cooking time to 01:00 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 01:00. |
|
|
|
|
Step 2 |
When time equals 00:15 open the
oven door. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Wait approximately 20 seconds. |
Oven remains off with displayed
time of 00:15 |
|
|
|
|
Step 4 |
Push Stop/Clear button. |
Oven remains off, displayed
time changes to 00:00, and the beeper sounds |
|
|
|
Test 8 |
Step 1 |
Set cooking time to 01:00 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 01:00. |
|
|
|
|
Step 2 |
When time equals 00:15 open the
oven door. |
Oven shuts off with 00:15
displayed on LCD screen. |
|
|
|
|
Step 3 |
Immediately close the oven door
and push the Start button.*** |
Oven turns back on and time
counts down to 00:00 at which time the oven shuts off and the beeper
sounds. |
|
|
|
Test 9 |
Step 1 |
Set cooking time to 00:00 and
push Start button. |
Oven remains off, displayed
time is 00:00, and the beeper sounds. |
|
|
|
* Use in-circuit emulator to activate
Start signal the frame
after the door is opened to prevent the code from branching to node
5 (see
flow
graph for this example).
** Use in-circuit emulator to
activate Start signal the
frame after the door is opened to prevent the code from branching to
node 9
(see flow
graph for this example).
Test |
Action |
Expected Result |
Actual Result |
Pass/ Fail |
Problem Report Number |
Test 1 Cooking Time |
|
|
|
|
|
Test 1.1 Boundary Value |
Set cooking time to 00:00 and
push Start button. |
Oven remains off, displayed
time is 00:00, and the beeper sounds. |
|
|
|
Test 1.2 Typical Value |
Set cooking time to 00:30 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 00:30.
Time decrements once per second until displayed time
is 00:00 at which time the oven shuts off and the beeper sounds. |
|
|
|
Test 1.3 Boundary Value |
Set cooking time to 00:59 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 00:59.
Time decrements once per second until displayed time
is 00:00 at which time the oven shuts off and the beeper sounds. |
|
|
|
Test 1.4 Boundary Value |
Set cooking time to 01:00 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 01:00.
Time decrements once per second until displayed time
is 00:00 at which time the oven shuts off and the beeper sounds. |
|
|
|
Test 1.5 Typical Value |
Set cooking time to 03:25 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 03:25.
Time decrements once per second until displayed time
is 00:00 at which time the oven shuts off and the beeper sounds. |
|
|
|
Test 1.6 Boundary Value |
Set cooking time to 99:59 and
push Start button. |
Oven turns on and displayed
time begins decrementing from 99:59.
Time decrements once per second until displayed time
is 00:00 at which time the oven shuts off and the beeper sounds. |
|
|
|
Test 2 Timer |
|
|
|
|
|
Test 2.1 Boundary Value |
Set timer to 00:00 and push
Start button. |
Oven remains off, Displays
shows 00:00 and beeper immediately sounds. |
|
|
|
Test 2.2 Typical Value |
Set timer to 00:30 and push
Start button. |
Oven remains off and displayed
time begins decrementing from 00:30.
Time decrements once per second until displayed time
is 00:00 at which time the beeper sounds. |
|
|
|
Test 2.3 Boundary Value |
Set timer to 00:59 and push
Start button. |
Oven remains off and displayed
time begins decrementing from 00:59.
Time decrements once per second until displayed time
is 00:00 at which time the beeper sounds. |
|
|
|
Test 2.4 Boundary Value |
Set timer to 01:00 and push
Start button. |
Oven remains off and displayed
time begins decrementing from 01:00.
Time decrements once per second until displayed time
is 00:00 at which time the beeper sounds. |
|
|
|
Test 2.5 Typical Value |
Set timer to 49:50 and push
Start button. |
Oven remains off and displayed
time begins decrementing from 49:50.
Time decrements once per second until displayed time
is 00:00 at which time the beeper sounds. |
|
|
|
Test 2.6 Boundary Value |
Set timer to 99:59 and push
Start button. |
Oven remains off and displayed
time begins decrementing from 99:59.
Time decrements once per second until displayed time
is 00:00 at which time the beeper sounds. |
|
|
|
Test 3 Clock |
|
|
|
|
|
Test 3.1 Invalid Value |
Set clock to 00:00 and push
Start button. |
Beeper sounds and display
indicates that an invalid time value was entered. |
|
|
|
Test 3.2 Boundary Value |
Set clock to 01:00 and push
Start button. |
Time of day displayed begins
incrementing once per second from 01:00. |
|
|
|
Test 3.3 Typical Value |
Set clock to 01:30 and push
Start button. |
Time of day displayed begins
incrementing once per second from 01:30. |
|
|
|
Test 3.4 Boundary Value |
Set clock to 01:59 and push
Start button. |
Time of day displayed
increments from 01:59 to 02:00 then continues incrementing once per
second. |
|
|
|
Test 3.5 Boundary Value |
Set clock to 02:00 and push
Start button. |
Time of day displayed begins
incrementing once per second from 02:00.. |
|
|
|
Test 3.6 Typical Value |
Set clock to 05:30 and push
Start button. |
Time of day displayed begins
incrementing once per second from 05:30. |
|
|
|
Test 3.7 Boundary Value |
Set clock to 12:59 and push
Start button. |
Time of day displayed
increments from 12:59 to 01:00 then continues incrementing once per
second |
|
|
|
Test 3.8 Invalid Value |
Set clock to 13:00 and push
Start button. |
Beeper sounds and display
indicates that an invalid time value was entered. |
|
|
|
Test 4 Power Level |
|
|
|
|
|
Test 4.1 Invalid Value |
Set Power Level to 0, set time
to 00:30, and push Start button. |
Beeper sounds and display
indicates that an invalid power level value was entered. |
|
|
|
Test 4.2 Boundary Value |
Set Power Level to 1, set time
to 00:30, and push Start button. |
Oven turns on, time begins
decrementing from 00:30, and the display shows that power level 1 has
been selected. |
|
|
|
Test 4.3 Typical Value |
Set Power Level to 5, set time
to 00:30, and push Start button. |
Oven turns on, time begins
decrementing from 00:30, and the display shows that power level 5 has
been selected. |
|
|
|
Test 4.4 Boundary Value |
Set Power Level to 10, set time
to 00:30, and push Start button. |
Oven turns on, time begins
decrementing from 00:30, and the display shows that power level 10 has
been selected. |
|
|
|
Test 4.5 Invalid Value |
Set Power Level to 11, set time
to 00:30, and push Start button. |
Beeper sounds and display
indicates that an invalid power level value was entered. |
|
|
|
Static Analysis |
Description |
Control Flow |
Identifies loops with
multiple exit / entry points and unreachable code. |
Data Use |
Identifies
un-initialized variables, variables that are never used, and redundant
test conditions. |
Interface |
Identifies interface
type errors, functions that are never called, and function results that
are never used. |
Information Flow |
Identifies the
relationships between input variables and output variables. Derivation
of values are made explicit so that the conditions affecting a
variable’s value are easier to discern and understand. |
Path |
Identifies a permutation
of all possible paths of execution so that each predicate can be
analyzed individually. |
No part of this work should be produced or used without the permission of the authors: Michael Turner and Dr. Sharon A White.