Presentation
SOFTWARE
QUALITY
ASSURANCE
What is Software Quality
 The Software Quality definition is based on the following:
• Customer focus and customer satisfaction
• Functional and performance requirement
• Ease of learning, use and maintainability
• Adherence to development standards
 Two Kinds of quality
Quality of design
Quality of conformance
Quality Concepts
 Concerned with ensuring that the required level of quality is achieved in a
software product.
 Three principal concerns
At the organizational level quality management is concerned with establishing
a framework of organizational processes and standards that will lead to high-quality
software.
At the project level quality management involves the application of specific
quality processes and checking that these planned processes have been followed.
At the project level quality management is also concerned with establishing a
quality plan for a project
Software review
 Software reviews are a filter for the software engineering process.
 Reviews are applied at various points during software development and
serve to uncover errors and defects that can then be removed.
 Software reviews purify the software engineering activities that we have
called analysis , design and coding.
 Different types of reviews
Inspection for defect removal
Reviews for progress assessment
Quality Reviews
Software Quality Assurance
 Establishment of network of organizational procedures and standards leading
to high-quality software
 SQA often called Quality Management __ ensuring that required level of
product quality is achieved.
 To ensure quality in a software product, an organization must have 3 way to
approach quality management
1. Organization Wide Policies
2. Project Specific Policies
3. Quality must be controlled
SQA Activities
 Applying technical methods
 Conducting formal technical reviews
 Testing Software
 Enforcing standards
 Controlling change
 Measurement
 Record keeping and reporting
This is also called SQA Plans
SQA
Advantages
 Higher reliability will result in greater customer satisfaction
 Maintenance costs can be reduced
 Overall life cycle cost of software is reduced
Disadvantages
 It is difficult to institute in small organizations, where available resources to
perform necessary activities are not available.
 It represents cultural change - and change is never easy.
 It requires the expenditure of dollars that would not otherwise be explicitly
budgeted to software engineering.
Quality Review
 The fundamental method of validating the quality of a product or a process
 Quality reviews can have different intents:
review for defect removal
review for progress assessment
review for consistency and conformance
 A group of people carefully examine part or all of a software system
and its associated documentation.
 Code, designs, specifications, test plans, standards, etc. can all be
reviewed
Software Reliability
 Informally, software is reliable if the user can depend on it. Software
reliability defines reliability in terms of statistical behavior, the probability that
the software will operate as expected over a specified period of time.
 Functional reliability: Requirements define system and software functions
that avoid, detect or tolerate faults in the software and so ensure that these
faults do not lead to system failure.
 Software reliability: Requirements may also be included to cope with
hardware failure or operator error.
Software Reliability
 Reliability – The probability of failure-free system operation over a specified
time in a given environment for a given purpose
 Availability – The probability that a system, at a point in time, will be
operational and able to deliver the requested services
 Informally, reliability is a measure of the users’ perception of how well the
software provides the services they need.
◦ Not an objective measure
◦ Must be based on an operational profile
◦ Must consider that there are widely varying consequences for different
errors
Reliability Specification Process
 Risk identification – Identify the types of system failure that may lead to
economic losses.
 Risk analysis – Estimate the costs and consequences of the different types
of software failure.
 Risk decomposition – Identify the root causes of system failure.
 Risk reduction – Generate reliability specifications, including quantitative
requirements defining the acceptable levels of failure.
Perception Of Reliability
 The formal definition of reliability does not always reflect the user’s
perception of a system’s reliability
 Software reliability improves when faults which are present in the most
frequently used portions of the software are removed.
 The consequences of system failures affects the perception of reliability .
 Removing faults with the most serious consequences is the primary objective
of improvement of reliability.
Reliability and Specification
 Reliability can only be defined formally with respect to a system specification
i.e. a failure is a deviation from a specification.
 Furthermore, users don’t read specifications so don’t know how the system is
supposed to behave.
 Therefore perceived reliability is more important in practice.
 Many specifications are incomplete or incorrect hence, a system that
conforms its specification may ‘fail’ from the perspective of system users.
SQA Tasks, Goals, and Metrics
SQA Tasks
 Prepares an SQA plan for a project
 Participates in the development of the project’s software process
description
 Reviews software engineering activities to verify compliance with the
defined software process
 Audits designated software work products to verify compliance with
those defined as part of the software process
 Records any noncompliance and reports to senior management
Goals, Attributes and Metrics
 Requirements quality. Correctness, completeness, and consistency
 Design quality. Every element of the design model should be assessed
by software
 Code quality. Source code and related work products
 Quality control effectiveness. A software team should apply limited
resources
Statistical SQA
 Statistical quality assurance reflects a growing trend throughout industry to
become more quantitative about quality. For software, statistical quality
assurance implies the following steps:
 Information about software errors and defects is collected and categorized
 An attempt is made to trace each error and defect to its underlying cause
 Once the vital few causes have been identified, move to correct the problems
that have caused the errors and defects.
Software quality assurance

Software quality assurance

  • 2.
  • 3.
  • 4.
    What is SoftwareQuality  The Software Quality definition is based on the following: • Customer focus and customer satisfaction • Functional and performance requirement • Ease of learning, use and maintainability • Adherence to development standards  Two Kinds of quality Quality of design Quality of conformance
  • 5.
    Quality Concepts  Concernedwith ensuring that the required level of quality is achieved in a software product.  Three principal concerns At the organizational level quality management is concerned with establishing a framework of organizational processes and standards that will lead to high-quality software. At the project level quality management involves the application of specific quality processes and checking that these planned processes have been followed. At the project level quality management is also concerned with establishing a quality plan for a project
  • 6.
    Software review  Softwarereviews are a filter for the software engineering process.  Reviews are applied at various points during software development and serve to uncover errors and defects that can then be removed.  Software reviews purify the software engineering activities that we have called analysis , design and coding.  Different types of reviews Inspection for defect removal Reviews for progress assessment Quality Reviews
  • 7.
    Software Quality Assurance Establishment of network of organizational procedures and standards leading to high-quality software  SQA often called Quality Management __ ensuring that required level of product quality is achieved.  To ensure quality in a software product, an organization must have 3 way to approach quality management 1. Organization Wide Policies 2. Project Specific Policies 3. Quality must be controlled
  • 8.
    SQA Activities  Applyingtechnical methods  Conducting formal technical reviews  Testing Software  Enforcing standards  Controlling change  Measurement  Record keeping and reporting This is also called SQA Plans
  • 9.
    SQA Advantages  Higher reliabilitywill result in greater customer satisfaction  Maintenance costs can be reduced  Overall life cycle cost of software is reduced Disadvantages  It is difficult to institute in small organizations, where available resources to perform necessary activities are not available.  It represents cultural change - and change is never easy.  It requires the expenditure of dollars that would not otherwise be explicitly budgeted to software engineering.
  • 10.
    Quality Review  Thefundamental method of validating the quality of a product or a process  Quality reviews can have different intents: review for defect removal review for progress assessment review for consistency and conformance  A group of people carefully examine part or all of a software system and its associated documentation.  Code, designs, specifications, test plans, standards, etc. can all be reviewed
  • 11.
    Software Reliability  Informally,software is reliable if the user can depend on it. Software reliability defines reliability in terms of statistical behavior, the probability that the software will operate as expected over a specified period of time.  Functional reliability: Requirements define system and software functions that avoid, detect or tolerate faults in the software and so ensure that these faults do not lead to system failure.  Software reliability: Requirements may also be included to cope with hardware failure or operator error.
  • 12.
    Software Reliability  Reliability– The probability of failure-free system operation over a specified time in a given environment for a given purpose  Availability – The probability that a system, at a point in time, will be operational and able to deliver the requested services  Informally, reliability is a measure of the users’ perception of how well the software provides the services they need. ◦ Not an objective measure ◦ Must be based on an operational profile ◦ Must consider that there are widely varying consequences for different errors
  • 13.
    Reliability Specification Process Risk identification – Identify the types of system failure that may lead to economic losses.  Risk analysis – Estimate the costs and consequences of the different types of software failure.  Risk decomposition – Identify the root causes of system failure.  Risk reduction – Generate reliability specifications, including quantitative requirements defining the acceptable levels of failure.
  • 14.
    Perception Of Reliability The formal definition of reliability does not always reflect the user’s perception of a system’s reliability  Software reliability improves when faults which are present in the most frequently used portions of the software are removed.  The consequences of system failures affects the perception of reliability .  Removing faults with the most serious consequences is the primary objective of improvement of reliability.
  • 15.
    Reliability and Specification Reliability can only be defined formally with respect to a system specification i.e. a failure is a deviation from a specification.  Furthermore, users don’t read specifications so don’t know how the system is supposed to behave.  Therefore perceived reliability is more important in practice.  Many specifications are incomplete or incorrect hence, a system that conforms its specification may ‘fail’ from the perspective of system users.
  • 16.
    SQA Tasks, Goals,and Metrics SQA Tasks  Prepares an SQA plan for a project  Participates in the development of the project’s software process description  Reviews software engineering activities to verify compliance with the defined software process  Audits designated software work products to verify compliance with those defined as part of the software process  Records any noncompliance and reports to senior management
  • 17.
    Goals, Attributes andMetrics  Requirements quality. Correctness, completeness, and consistency  Design quality. Every element of the design model should be assessed by software  Code quality. Source code and related work products  Quality control effectiveness. A software team should apply limited resources
  • 18.
    Statistical SQA  Statisticalquality assurance reflects a growing trend throughout industry to become more quantitative about quality. For software, statistical quality assurance implies the following steps:  Information about software errors and defects is collected and categorized  An attempt is made to trace each error and defect to its underlying cause  Once the vital few causes have been identified, move to correct the problems that have caused the errors and defects.