Software Quality Assurance Practices in Software Engineering
Effective software quality assurance practices are essential in software engineering to ensure high-quality products. This includes conducting formal technical reviews, maintaining review records, following established guidelines, and implementing statistical quality assurance techniques to track defects and improve overall quality.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
Software engineering Software engineering Chapter 7 Software Quality Assurance By: Lecturer By: Lecturer Raoof Raoof Talal Talal
7.2.2 Review Reporting and Record Keeping During the FTR, a reviewer (the recorder) actively records all issues that have been raised. These are summarized at the end of the review meeting and a review issues list is produced. In addition, a formal technical review summary report is completed. The review summary report is a single page form (with possible attachments).
It becomes part of the project historical record and may be distributed to the project leader and other interested parties. A review summary report answers three questions: 1- What was reviewed? 2- Who reviewed it? 3- What were the findings and conclusions?
7.2.3 Review Guidelines Guidelines for the conduct of formal technical reviews must be established in advance, distributed to all reviewers, agreed upon, and then followed. The following represents a minimum set of guidelines for formal technical reviews: 1. Review the product, not the producer. 2. Set an agenda and maintain it. 3. Limit debate (discussible) and rebuttal (deny). 4. Enunciate (announce) problem areas, but don't attempt to solve every problem noted. 5. Take written notes.
6. Limit the number of participants and insist upon advance preparation. 7. Develop a checklist for each product that is likely to be reviewed. 8. Allocate resources and schedule time for FTRs. 9. Conduct meaningful training for all reviewers. 10. Review your early reviews.
7.3 Statistical Software Quality Assurance Statistical quality assurance reflects a growing trend throughout industry to become more quantitative about quality. To illustrate this, assume that a software engineering organization collects information on defects for a period of one year. Some of the defects are uncovered as software is being developed. Others are encountered after the software has been released to its end-users. Although hundreds of different errors are uncovered, all can be tracked to one (or more) of the following causes:
incomplete or erroneous specifications (IES) Misinterpretation (Misunderstanding) of customer communication (MCC) intentional deviation from specifications (IDS) violation of programming standards (VPS) error in data representation (EDR) Inconsistent (conflicted) component interface (ICI)
error in design logic (EDL) incomplete or erroneous testing (IET) inaccurate or incomplete documentation (IID) error in programming language translation of design (PLT) Ambiguous (not clear) or inconsistent human/computer interface (HCI) miscellaneous (MIS)
To apply statistical SQA, Table 7.1 is built. The table indicates that IES, MCC, and EDR are the vital few causes that account for 53 percent of all errors. It should be noted, however, that IES, EDR, PLT, and EDL would be selected as the vital few causes if only serious errors are considered.
In conjunction with the collection of defect information, software developers can calculate an error index (EI) for each major step in the software process. After analysis, design, coding, testing, and release, the following data are gathered: Ei = the total number of errors uncovered during the ith step in the software engineering process. Si = the number of serious errors. Mi = the number of moderate errors. Ti = the number of minor errors. PS = size of the product (LOC, design statements, pages of documentation) at the ith step
ws, wm, wt = weighting factors for serious, moderate, and trivial errors, where recommended values are ws = 10, wm = 3, wt = 1. At each step in the software process, a phase index, PIi, is computed: PIi= ws (Si/Ei) + wm (Mi/Ei) + wt (Ti/Ei)
The error index is computed by calculating the cumulative effect on each PIi, EI = (i x PIi)/PS EI= (PI1 + 2PI2 + 3PI3 + . . . iPIi)/PS The error index can be used in conjunction with information collected in Table 7.1 to develop an overall indication of improvement in software quality.
7.4 The ISO 9000 and ISO 9001 Quality Standards A quality assurance system may be defined as the organizational structure, responsibilities, procedures, processes, and resources for implementing quality management. Quality assurance systems are created to help organizations ensure their products and services satisfy customer expectations by meeting their specifications.
These systems cover a wide variety of activities encompassing a product s entire life cycle including planning, controlling, measuring, testing and reporting, and improving quality levels throughout the development and manufacturing process. ISO 9000 describes quality assurance elements in generic terms that can be applied to any business regardless of the products or services offered. The ISO 9000 standards have been adopted by many countries including all members of the European Community, Canada, Mexico, the United States, Australia, New Zealand, and the Pacific Rim. Countries in Latin and South America have also shown interest in the standards.
After adopting the standards, a country typically permits only ISO registered companies to supply goods and services to government agencies and public utilities. Telecommunication equipment and medical devices are examples of product categories that must be supplied by ISO registered companies. In turn, manufacturers of these products often require their suppliers to become registered. Private companies such as automobile and computer manufacturers frequently require their suppliers to be ISO registered as well.
ISO 9000 describes the elements of a quality assurance system in general terms. These elements include: the organizational structure, procedures, processes, and resources needed to implement quality planning, quality control, quality assurance, and quality improvement. However, ISO 9000 does not describe how an organization should implement these quality system elements.
ISO 9001 is the quality assurance standard that applies to software engineering. The standard contains 20 requirements that must be present for an effective quality assurance system. Because the ISO 9001 standard is applicable to all engineering disciplines, a special set of ISO guidelines (ISO 9000-3) have been developed to help interpret the standard for use in the software process.
The requirements delineated by ISO 9001 address topics such as: management responsibility, quality system, contract review, design control, document and data control, product identification and traceability, process control, inspection and testing, corrective and preventive action, control of quality records, internal quality audits, training, servicing, and statistical techniques.