Page 244 -
P. 244

CHAPTER 8  SOFTWARE QUALITY ASSURANCE                              215

                              ple, the ignition switch for an automobile will not work if an automatic transmission
                              is in gear (a prevention device); an auto’s warning beep will sound if the seat belts are
                              not buckled (a detection device).
                                An effective poka-yoke device exhibits a set of common characteristics:
                                •  It is simple and cheap. If a device is too complicated or expensive, it will
               WebRef              not be cost effective.
               A comprehensive collection
               of poka-yoke resources can  •  It is part of the process. That is, the poka-yoke device is integrated into an
               be obtained at      engineering activity.
               www.campbell.berry.
               edu/faculty/jgrout/  •  It is located near the process task where the mistakes occur. Thus, it
               pokayoke.shtml      provides rapid feedback and error correction.
                                Although poka-yoke was originally developed for use in “zero quality control”
                              [SHI86] for manufactured hardware, it can be adapted for use in software engineer-
                              ing. To illustrate, we consider the following problem [ROB97]:

                              A software products company sells application software to an international market. The
                              pull-down menus and associated mnemonics provided with each application must reflect
                              the local language. For example, the English language menu item for “Close” has the
                              mnemonic “C” associated with it. When the application is sold in a French-speaking coun-
                              try, the same menu item is “Fermer” with the mnemonic “F.” To implement the appropriate
                              menu entry for each locale, a “localizer” (a person conversant in the local language and
                              terminology) translates the menus accordingly. The problem is to ensure that (1) each menu
                              entry (there can be hundreds) conforms to appropriate standards and that there are no con-
                              flicts, regardless of the language that is used.

                              The use of poka-yoke for testing various application menus implemented in different
                              languages as just described is discussed in a paper by Harry Robinson [ROB97]: 5
                              We first decided to break the menu testing problem down into parts that we could solve.
                              Our first advance on the problem was to understand that there were two separate aspects
                              to the message catalogs. There was the content aspect: the simple text translations, such
                              as changing "Close" to "Fermer." Since the test team was not fluent in the 11 target lan-
                              guages, we had to leave this aspect to the language experts.
                                 The second aspect of the message catalogs was the structure, the syntax rules that a
                              properly constructed target catalog must obey. Unlike content, it would be possible for the
                              test team to verify the structural aspects of the catalogs.
                                 As an example of what is meant by structure, consider the labels and mnemonics of an
                              application menu. A menu is made up of labels and associated mnemonics. Each menu, regard-
                              less of its contents or its locale, must obey the following rules listed in the Motif Style Guide:
                              •  Each mnemonic must be contained in its associated label
                              •  Each mnemonic must be unique within the menu


                              5  The paragraphs that follow have been excerpted (with minor editing) from [ROB97] with the per-
                                mission of the author.
   239   240   241   242   243   244   245   246   247   248   249