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
   210   211   212   213   214   215   216   217   218   219   220