Page 248 -
P. 248

CHAPTER 8  SOFTWARE QUALITY ASSURANCE                              219

                                The test section references the Software Test Plan and Procedure (Chapter 18). It
                              also defines test record-keeping requirements. Problem reporting and corrective action
                              defines procedures for reporting, tracking, and resolving errors and defects, and iden-
                              tifies the organizational responsibilities for these activities.
                                The remainder of the SQA Plan identifies the tools and methods that support SQA
                              activities and tasks; references software configuration management procedures for
                              controlling change; defines a contract management approach; establishes methods
                              for assembling, safeguarding, and maintaining all records; identifies training required
                              to meet the needs of the plan; and defines methods for identifying, assessing, moni-
                              toring, and controlling risk.


                      8.12    SUMMARY

                              Software quality assurance is an umbrella activity that is applied at each step in the
                              software process. SQA encompasses procedures for the effective application of meth-
                              ods and tools, formal technical reviews, testing strategies and techniques, poka-yoke
                              devices, procedures for change control, procedures for assuring compliance to stan-
                              dards, and measurement and reporting mechanisms.
                                SQA is complicated by the complex nature of software quality—an attribute of
                              computer programs that is defined as "conformance to explicitly and implicitly spec-
                              ified requirements." But when considered more generally, software quality encom-
                              passes many different product and process factors and related metrics.
                                Software reviews are one of the most important SQA activities. Reviews serve as
                              filters throughout all software engineering activities, removing errors while they are
                              relatively inexpensive to find and correct. The formal technical review is a stylized
                              meeting that has been shown to be extremely effective in uncovering errors.
                                To properly conduct software quality assurance, data about the software engi-
                              neering process should be collected, evaluated, and disseminated. Statistical SQA
                              helps to improve the quality of the product and the software process itself. Software
                              reliability models extend measurements, enabling collected defect data to be extrap-
                              olated into projected failure rates and reliability predictions.
                                In summary, we recall the words of Dunn and Ullman [DUN82]: "Software quality
                              assurance is the mapping of the managerial precepts and design disciplines of qual-
                              ity assurance onto the applicable managerial and technological space of software
                              engineering." The ability to ensure quality is the measure of a mature engineering
                              discipline. When the mapping is successfully accomplished, mature software engi-
                              neering is the result.
   243   244   245   246   247   248   249   250   251   252   253