Software Quality
Software Quality
(Spring 2024)
06/11/24
Software quality– IEEE definition
06/11/24
Software quality assurance vs. Software quality
control
• Quality Control (QC) is a set of activities designed to evaluate the
quality of developed or manufactured product(IEEE,1991)
• Activities whose main objective is the withholding of any product that
does not qualify.
06/11/24
Definition: Software Quality Engineering
Software Quality Engineering:
06/11/24
Software errors, faults and failures
Software errors:
Sections of the code that are partially or totally incorrect as a result of a
grammatical, logical or other mistake made by a systems analyst, a
programmer, or another member of the software development team.
Software faults
are software errors that cause the incorrect functioning of the software
in general or in specific application.
06/11/24
Relationships between Software errors, faults and
failures
06/11/24
Software Defect Origins
06/11/24
Software Defect Origins
Client–developer communication failures
Misunderstanding of the
• Client’s instructions as stated in the requirement document
• Client’s requirements changes presented to the developer
• Client’s responses to the design problems presented by the developer.
• Lack of attention to client messages referring to requirements changes
06/11/24
Software Defect Origins
06/11/24
SQA – Software Life Cycle
Quality Standards
Quality standards for software engineering:
These are standard written down, that must be followed by software engineers
and engineering firms to achieve quality in their products. Below are some
major standards in the software engineering industry:
06/11/24
CMMI Staged Representation - 5 Maturity Levels
Managed
techniques.
ss
ce
Level 3
o
ISO 9000 family: These are standards for quality management and quality
assurance for any business. It applies to process of creating, and controlling
of products and services an organization provides, by giving an organized
course for activities to be carried out to ensure that customer’s requirements
are made (ISOQAR, 2010). This includes the:
•ISO 9000
•ISO 9001
•ISO 9126
06/11/24
Quality Standards
3. IEEE STD 1061-1998 Standard:
06/11/24
Software Quality Assurance and Reviews
• Formal Reviews
• Peer Reviews (inspections and walkthroughs)
• Expert opinions
Review Methods –Formal reviews
• The participants
• The prior preparations
• The FR session
• The recommended post-FR activities.
Formal Reviews
The participants in a FR
The main tasks of the review leader in the preparation stage are:
• To appoint the team members
• To schedule the review sessions
• To distribute the document among the team members (hard copy,
electronic file, etc.).
The FR session:
Full approval
• Enables immediate continuation to the next phase of the project.
Partial approval
• Approval of immediate continuation to the next phase for some parts of the
project, with major action items (corrections, changes and additions)
demanded for the remainder of the project.
• Continuation to the next phase of these remainder parts will be permitted only
after satisfactory completion of the action items.
Denial of approval
• Demands a repeat of the DR. This decision is applied in cases of multiple
major defects, particularly critical defects.
Formal Reviews
Post-review activities:
• The FR team or its representative is required to follow up performance
of the corrections and to examine the corrected sections.
The FR report
The report’s major sections contain:
• A summary of the review discussions.
• The decision about continuation of the project.
• A full list of the required actions – corrections, changes and additions
that the project team has to perform.
• For each action item, the anticipated completion date and project team
member responsible are listed.
• The name(s) of the review team member(s) assigned to follow up
performance of corrections.
Peer Reviews:
Inspections / Walkthroughs
Inspection Walkthrough
• Review Leader
Specialized Professionals
• Presenter:
– For inspections:
• The presenter of document; chosen by the moderator; should not be document’s
author
• Sometimes the software coder serves as presenter due to the familiarity of the
design logic and its implications for coding.
– For walkthroughs:
• Author most familiar with the document should be chosen to present it to the
group.
• Could be design document developer; programmer for code
• Some argue that a neutral person should be used..
• Scribe:
– Team leader will often serve as the scribe and record noted defects to be corrected.
The Peer Review Session
In inspection
• Inspection scribe will add estimated severity of each defect and the formulation
of preventive / corrective actions.
Inspection vs. Walkthrough
Comparison of review methodologies
Comparison of review methodologies
Expert Opinions
• Expert opinions support quality assessment efforts by introducing additional
external capabilities into the organization's in-house development process