Page 214 - Embedded Microprocessor Systems Real World Design
P. 214

Verify timekeeping.
                   Verify keypad operation and sensing.
                   Verify time rollover and on/off  switching.
                   Verify override operation.
                   Verify water low sensor operation.
                   Verify time set.

                   Fortunately, if you have a good requirements specification, you also have a good
                 start on the functional test requirements. The first thing you must do in functional
                testing is make sure all requirements are met. Some of these are difficult to prove-
                 the  “minimum  switches and  knobs” requirement  for  the  pool  timer  is  a  good
                 example-but   the  list of  requirements is  a good  starting point for verifying  the
                 design. You can get software that tracks requirements in a document and you can
                 carry the tracking through the test procedure  to verify that the requirement was
                 satisfied.
                   The problem inherent in  any minimal test plan  like this is  that it often omits
                 several important steps. When you verify timekeeping, do you verify only that the
                 time decrements, or that it decrements at the right rate and rolls over at the right
                 time? Do you  check at least two cycles to be sure that nothing hangs up? A more
                 comprehensive test plan might have the following tasks:

                   Vmjj timekeeping:

                    Verify that time decrements correctly.
                    Verify timekeeping rate  (accuracy in  a real product would probably be speci-
                      fied in the requirements).
                   Vmfi keypad  operation and sensing:

                    Keys are sufficiently debounced.
                    All keys except SET are ignored in powerfail mode.
                   Vmjj time rollover and on/off switching:

                    ON rollover, switch to OFF time.
                    OFF rollover, switch to OFF time.
                    Verify at least three cycles.
                   Vhjj override operation:

                    ON override in OFF timing.
                    OFF override in ON timing.
                    ON override in ON timing.
                    OFF override in OFF timing.



                 System Integration and Debug                                         195
   209   210   211   212   213   214   215   216   217   218   219