Page 215 - Embedded Microprocessor Systems Real World Design
P. 215
Override terminate in all modes.
OFF time expiration while in ON and OFF override.
ON time expiration while in ON and OFF override.
Correct LED operation in all modes.
Rollover time from 24:OO to override exit in all modes.
Override timekeeping in all modes.
VmB water low sensw operation:
LED operation (blinking ON LED).
Motor does not start in normal or override.
Normal operation resumes when level is OK again.
VmB time set:
Time increment and rollover, OFF and ON.
Time saved correctly when either or both times changed.
Override disabled for time set.
A functional test plan should cover not only normal operation of the system but
abnormal cases as well, What if the operator presses the START button while the
system is shutting down after someone pressed STOP? If you build enough systems,
someone, somewhere, will try it. Trust me.
Sometimes special software can aid in this testing. For example, the pool
timer software was modified to run the time at 20 times the normal rate so that the
testing could proceed faster. There is danger here though, depending on how much
must change. At some point, a test of some kind must be done with the final
software.
It often is difficult for the software engineer to come up with all the possible
scenarios that should be tested. A brainstorming meeting with other members of
the project team, especially the software engineers, usually will produce a number
of special conditions to check. If you are the only person on the project, bring in
engineers from another project and have a code walkthrough/test scenario
meeting.
Stress Testing
A functional verification should include a thorough evaluation of the system under
stress conditions. It is tempting to just prove that the essential functionality works
in a controlled test and then go on to the next thing on an already full schedule.
However, most systems benefit from stress testing, where an operator does things
they wouldn’t ordinarily do or where some part of the system is changed to simu-
196 Embedded Microprocessor Systems