LECTURE # 1
INTRODUCTION
1
SOFTWARE QUALITY ENGINEERING
CE-322
Course Information
2
 Introduction
The purpose of the course is to introduce fundamental notions of software
quality and the techniques used to build and check quality in software
systems. A particular emphasis is placed on quantitative assessment of
software quality and quality control using software testing techniques.
 Learning Outcomes
By the end of this course, students should have a good grasp of software
quality, Software Quality Assurance, Configuration management, Static
Testing techniques, White box testing and Black box testing techniques,
Software metrics and models, Debugging, Quality Management, Process
Improvement and Cleanroom Software Engineering.
Books and Resources
 Software Quality Engineering, 6th
Edition by JeffTian
 Software Engineering,A practitioner’s approach, 8th
Edition by Roger S.Pressman
Reference Books
4
 RecommendedText Books
Software Quality Engineering by Jeff Tian,
ISBN# 0471713457
 Reference Books
1. SoftwareTesting & Continuous quality improvement (2nd Edition) byWilliam
Lewis ISBN# 1420080733
2. The Art of SoftwareTesting (2nd Edition) Glenford Myers ISBN# 0471043281
3. Quality Software Project Management By RobertT.Futrell,Donald F.Shafer,
Linda I.Safer publisher:Prentice Hall
4. SoftwareTesting and Quality Assurance,Theory and Practice:2008,Kshirasagar
Naik,PriyadarshiTripathy
ISBN# 0471789119
Grading Criteria
5
 Grading
 MidTerms - 30%
 FinalTerm - 50%
 Assignment - 5 %
 Quiz - 05 %
 Attendence 5 %
 Presentations - 05%
Software Quality
6
 Quality:
• Quality in software refers to the extent to which a product meets customer requirements,
expectations, and specifications.
• High-quality software ensures reliability, performance, usability, and customer satisfaction.
It minimizes defects and enhances user experience.
 Quality Engineering
 Quality Engineering is a discipline focused on integrating quality throughout the software
development lifecycle (SDLC).
 KeyAspects:
 Emphasizes proactive measures like process improvement, automation, and testing at every
stage of development.
 Involves collaboration between developers, testers, and other stakeholders.
 Goal: Ensure the delivery of high-quality software in an efficient and cost-effective manner.
Software Quality
 QualityTypes
 Product Quality: The attributes of the software product itself (e.g., functionality, reliability, and
performance).
 Process Quality: The efficiency and effectiveness of the processes used to develop the software.
 Quality Control vs Quality Assurance
 Quality Control (QC):
 A reactive process focused on identifying and fixing defects in the product after it has been developed.
 Includes activities like testing, inspections, and bug fixing.
 Quality Assurance (QA):
 A proactive process that ensures quality by improving processes, standards, and practices during
development.
 Aims to prevent defects rather than detect them later.
Software Quality
Different views of Quality
CustomerView: Quality means fulfilling customer needs and
expectations.
DeveloperView: Focuses on technical excellence,
maintainability, and adherence to standards.
BusinessView: Emphasizes cost-effectiveness, time-to-
market, and regulatory compliance.
UserView: Prioritizes usability, reliability, and performance.
Software Quality
 Quality Models
ISO/IEC 9126 or ISO 25010: Frameworks for evaluating
software quality based on characteristics like functionality,
reliability, usability, and maintainability.
CMMI (Capability Maturity Model Integration): A
model for improving process quality in software development.
Six Sigma: A methodology for reducing defects and improving
processes.
Total Quality Management (TQM): An organization-wide
approach for continuous quality improvement.
What is quality?
04/12/2025
10
 Quality, simplistically, means that a product should meet its
specification.
 This is problematical for software systems
 There is a tension between customer quality requirements (efficiency,
reliability, etc.) and developer quality requirements (maintainability,
reusability, etc.);
 Some quality requirements are difficult to specify in an unambiguous way;
 Software specifications are usually incomplete and often inconsistent.
Quality Engineering
11
Software quality assurance (SQA) consists of a means of
monitoring the software engineering processes and
methods used to ensure quality.
DEFINING QUALITY
04/12/2025
12
 Perfection
 Consistency
 Speed of delivery
 Compliance with policies & procedures
 Providing good, usable products
 Doing it right the first time
 Delighting or pleasing customers
 Total customer service & satisfaction
Quality Types
04/12/2025
13
 Functional Quality — a measure of what the software
does vs. what it’s supposed to do
 Non-Functional Quality – a measure of how well it does
it vs. how well it’s supposed to do it
 Latent Quality — a measure of how well it will continue to do
it in the future
Different Views of Quality
14
Quality Assurance
15
 Quality Assurance
 Dealing with Pre- Post Release Defects
 Classification Scheme for Quality Assurance
 Defect prevention
 Defect Reduction
 Defect Containment
Software Quality Assurance
16
“All planned & systematic activities
implemented within quality system, &
demonstrated as needed, to provide
adequate confidence that an entity
will fulfill requirements for quality”.
Classification scheme for QA
04/12/2025
17
 Defect Prevention
 Education and training
 Process conformance and standards enforcement
 Tools/technologies and techniques
 Defect Reduction (Defect Detection and Removal)
 Static Testing (Examples: Code reviews, static analysis tools, and walkthroughs.)
 Dynamic Testing(Examples: Unit testing, integration testing, system testing, and user acceptance testing.)
 Defect Containment
 Focuses on limiting the impact of defects that occur during execution or operation.
Techniques:
 Software Fault Tolerance: Designing systems that can continue operating even when defects are
encountered. Examples: Redundancy, failover mechanisms, and error recovery techniques.
 Fault Containment: Ensuring defects do not propagate or cause widespread issues in the system.
 Examples: Modular design, isolating critical components, and implementing error-handling mechanisms.
Components of Software Quality Assurance
04/12/2025
18
 SQATeam
 SQA Plan
 Software Review
 FormalTechnical Reviews
 Review Guidelines
SQA Team
04/12/2025
19
 The Software Quality Assurance (SQA)Team is
responsible for ensuring that software development follows
quality standards, processes, and best practices.
 SQA Engineers: Conduct testing, audits, and process
evaluations.
 QA Analysts: Analyze requirements and ensure compliance.
 Testers: Perform manual and automated testing.
 Process Managers: Define and enforce software
development processes.
SQA Plan
04/12/2025
20
 A Software Quality Assurance Plan is a document outlining the
procedures, techniques, and tools used to ensure software quality.
 Provides a roadmap for quality assurance throughout the software
lifecycle.
 Elements:
 Quality objectives
 Standards and guidelines
 Testing and review processes
 Roles and responsibilities
 Risk management strategies
Software Reviews
04/12/2025
21
 A systematic examination of software artifacts (e.g.,
requirements, design, code) to detect errors, ensure
compliance, and improve quality.
 Types of Reviews:
 Peer Reviews: Colleagues review each other's work.
 Managerial Reviews: Project managers assess progress and
quality.
 Audit Reviews: External auditors verify compliance with
standards.

Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx

  • 1.
    LECTURE # 1 INTRODUCTION 1 SOFTWAREQUALITY ENGINEERING CE-322
  • 2.
    Course Information 2  Introduction Thepurpose of the course is to introduce fundamental notions of software quality and the techniques used to build and check quality in software systems. A particular emphasis is placed on quantitative assessment of software quality and quality control using software testing techniques.  Learning Outcomes By the end of this course, students should have a good grasp of software quality, Software Quality Assurance, Configuration management, Static Testing techniques, White box testing and Black box testing techniques, Software metrics and models, Debugging, Quality Management, Process Improvement and Cleanroom Software Engineering.
  • 3.
    Books and Resources Software Quality Engineering, 6th Edition by JeffTian  Software Engineering,A practitioner’s approach, 8th Edition by Roger S.Pressman
  • 4.
    Reference Books 4  RecommendedTextBooks Software Quality Engineering by Jeff Tian, ISBN# 0471713457  Reference Books 1. SoftwareTesting & Continuous quality improvement (2nd Edition) byWilliam Lewis ISBN# 1420080733 2. The Art of SoftwareTesting (2nd Edition) Glenford Myers ISBN# 0471043281 3. Quality Software Project Management By RobertT.Futrell,Donald F.Shafer, Linda I.Safer publisher:Prentice Hall 4. SoftwareTesting and Quality Assurance,Theory and Practice:2008,Kshirasagar Naik,PriyadarshiTripathy ISBN# 0471789119
  • 5.
    Grading Criteria 5  Grading MidTerms - 30%  FinalTerm - 50%  Assignment - 5 %  Quiz - 05 %  Attendence 5 %  Presentations - 05%
  • 6.
    Software Quality 6  Quality: •Quality in software refers to the extent to which a product meets customer requirements, expectations, and specifications. • High-quality software ensures reliability, performance, usability, and customer satisfaction. It minimizes defects and enhances user experience.  Quality Engineering  Quality Engineering is a discipline focused on integrating quality throughout the software development lifecycle (SDLC).  KeyAspects:  Emphasizes proactive measures like process improvement, automation, and testing at every stage of development.  Involves collaboration between developers, testers, and other stakeholders.  Goal: Ensure the delivery of high-quality software in an efficient and cost-effective manner.
  • 7.
    Software Quality  QualityTypes Product Quality: The attributes of the software product itself (e.g., functionality, reliability, and performance).  Process Quality: The efficiency and effectiveness of the processes used to develop the software.  Quality Control vs Quality Assurance  Quality Control (QC):  A reactive process focused on identifying and fixing defects in the product after it has been developed.  Includes activities like testing, inspections, and bug fixing.  Quality Assurance (QA):  A proactive process that ensures quality by improving processes, standards, and practices during development.  Aims to prevent defects rather than detect them later.
  • 8.
    Software Quality Different viewsof Quality CustomerView: Quality means fulfilling customer needs and expectations. DeveloperView: Focuses on technical excellence, maintainability, and adherence to standards. BusinessView: Emphasizes cost-effectiveness, time-to- market, and regulatory compliance. UserView: Prioritizes usability, reliability, and performance.
  • 9.
    Software Quality  QualityModels ISO/IEC 9126 or ISO 25010: Frameworks for evaluating software quality based on characteristics like functionality, reliability, usability, and maintainability. CMMI (Capability Maturity Model Integration): A model for improving process quality in software development. Six Sigma: A methodology for reducing defects and improving processes. Total Quality Management (TQM): An organization-wide approach for continuous quality improvement.
  • 10.
    What is quality? 04/12/2025 10 Quality, simplistically, means that a product should meet its specification.  This is problematical for software systems  There is a tension between customer quality requirements (efficiency, reliability, etc.) and developer quality requirements (maintainability, reusability, etc.);  Some quality requirements are difficult to specify in an unambiguous way;  Software specifications are usually incomplete and often inconsistent.
  • 11.
    Quality Engineering 11 Software qualityassurance (SQA) consists of a means of monitoring the software engineering processes and methods used to ensure quality.
  • 12.
    DEFINING QUALITY 04/12/2025 12  Perfection Consistency  Speed of delivery  Compliance with policies & procedures  Providing good, usable products  Doing it right the first time  Delighting or pleasing customers  Total customer service & satisfaction
  • 13.
    Quality Types 04/12/2025 13  FunctionalQuality — a measure of what the software does vs. what it’s supposed to do  Non-Functional Quality – a measure of how well it does it vs. how well it’s supposed to do it  Latent Quality — a measure of how well it will continue to do it in the future
  • 14.
  • 15.
    Quality Assurance 15  QualityAssurance  Dealing with Pre- Post Release Defects  Classification Scheme for Quality Assurance  Defect prevention  Defect Reduction  Defect Containment
  • 16.
    Software Quality Assurance 16 “Allplanned & systematic activities implemented within quality system, & demonstrated as needed, to provide adequate confidence that an entity will fulfill requirements for quality”.
  • 17.
    Classification scheme forQA 04/12/2025 17  Defect Prevention  Education and training  Process conformance and standards enforcement  Tools/technologies and techniques  Defect Reduction (Defect Detection and Removal)  Static Testing (Examples: Code reviews, static analysis tools, and walkthroughs.)  Dynamic Testing(Examples: Unit testing, integration testing, system testing, and user acceptance testing.)  Defect Containment  Focuses on limiting the impact of defects that occur during execution or operation. Techniques:  Software Fault Tolerance: Designing systems that can continue operating even when defects are encountered. Examples: Redundancy, failover mechanisms, and error recovery techniques.  Fault Containment: Ensuring defects do not propagate or cause widespread issues in the system.  Examples: Modular design, isolating critical components, and implementing error-handling mechanisms.
  • 18.
    Components of SoftwareQuality Assurance 04/12/2025 18  SQATeam  SQA Plan  Software Review  FormalTechnical Reviews  Review Guidelines
  • 19.
    SQA Team 04/12/2025 19  TheSoftware Quality Assurance (SQA)Team is responsible for ensuring that software development follows quality standards, processes, and best practices.  SQA Engineers: Conduct testing, audits, and process evaluations.  QA Analysts: Analyze requirements and ensure compliance.  Testers: Perform manual and automated testing.  Process Managers: Define and enforce software development processes.
  • 20.
    SQA Plan 04/12/2025 20  ASoftware Quality Assurance Plan is a document outlining the procedures, techniques, and tools used to ensure software quality.  Provides a roadmap for quality assurance throughout the software lifecycle.  Elements:  Quality objectives  Standards and guidelines  Testing and review processes  Roles and responsibilities  Risk management strategies
  • 21.
    Software Reviews 04/12/2025 21  Asystematic examination of software artifacts (e.g., requirements, design, code) to detect errors, ensure compliance, and improve quality.  Types of Reviews:  Peer Reviews: Colleagues review each other's work.  Managerial Reviews: Project managers assess progress and quality.  Audit Reviews: External auditors verify compliance with standards.