SlideShare a Scribd company logo
MEETING 2
INTRODUCTION TO
SOFTWARE QUALITY
SOFTWARE TESTING
By : Ajeng Savitri Puspaningrum, M.Kom
OBJECTIVE
• Understanding the concept
of quality
• Explain software quality
assurance
2
SOFTWARE
QUALITY
QUALITY
• The American Heritage Dictionary defines quality as
• “a characteristic or attribute of something.”
• For software, two kinds of quality may be encountered:
• Quality of design encompasses requirements, specifications, and the
design of the system.
• Quality of conformance is an issue focused primarily on implementation.
• User satisfaction = compliant product + good quality + delivery within
budget and schedule
4
SOFTWARE QUALITY
• In 2005, ComputerWorld [Hil05] lamented that
• “bad software plagues nearly every organization that uses computers, causing lost
work hours during computer downtime, lost or corrupted data, missed sales
opportunities, high IT support and maintenance costs, and low customer satisfaction.
• A year later, InfoWorld [Fos06] wrote about
• the “the sorry state of software quality” reporting that the quality problem had not
gotten any better.
• Today, software quality remains an issue, but who is to blame?
• Customers blame developers, arguing that sloppy practices lead to low-quality
software.
• Developers blame customers (and other stakeholders), arguing that irrational
delivery dates and a continuing stream of changes force them to deliver software
before it has been fully validated.
5
DEFINITION
• Software quality can be defined as:
• An effective software process applied in a manner that creates a useful
product that provides measurable value for those who produce it and those
who use it.
• This definition has been adapted from [Bes04] and replaces a more
manufacturing-oriented view presented in earlier editions of this
book.
CONCEPT
• Software Quality Assurance (SQA) is a protective activity that is
applied to all software.
• SQA Includes:
1. Quality Management Approach
2. Effective software engineering technology (methods and tools)
3. Study of formal techniques applied to the entire software process
4. Multitiered testing strategy
5. Control software documentation and changes made to it.
6. Procedures to ensure compliance with software development standards
(When applicable)
7. Measuring and reporting mechanism
SOFTWARE QUALITY FOCUS
• 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.
• The focus may be ‘fitness for purpose’ rather than specification
conformance.
8
SOFTWARE FITNESS FOR PURPOSE
• Has the software been properly tested?
• Is the software sufficiently dependable to be put into use?
• Is the performance of the software acceptable for normal use?
• Is the software usable?
• Is the software well-structured and understandable?
• Have programming and documentation standards been followed in
the development process?
9
NON-FUNCTIONAL CHARACTERISTICS
• The subjective quality of a software system is
largely based on its non-functional
characteristics.
• This reflects practical user experience – if the
software’s functionality is not what is expected,
then users will often just work around this and
find other ways to do what they want to do.
• However, if the software is unreliable or too
slow, then it is practically impossible for them
to achieve their goals.
10
SOFTWARE QUALITY ATTRIBUTES
Safety Understandability Portability
Security Testability Usability
Reliability Adaptability Reusability
Resilience Modularity Efficiency
Robustness Complexity Learnability
11
THE SOFTWARE QUALITY DILEMMA
• If you produce a software system that has terrible quality, you lose
because no one will want to buy it.
• If on the other hand you spend infinite time, extremely large effort, and
huge sums of money to build the absolutely perfect piece of software,
then it's going to take so long to complete and it will be so expensive to
produce that you'll be out of business anyway.
• Either you missed the market window, or you simply exhausted all your
resources.
• So people in industry try to get to that magical middle ground where the
product is good enough not to be rejected right away, such as during
evaluation, but also not the object of so much perfectionism and so much
work that it would take too long or cost too much to complete. [Ven03]
SOFTWARE
STANDARDS
SOFTWARE STANDARDS
• Standards define the required attributes
of a product or process. They play an
important role in quality management.
• Standards may be international, national,
organizational or project standards.
14
IMPORTANCE OF STANDARDS
• Encapsulation of best practice- avoids
repetition of past mistakes.
• They are a framework for defining what
quality means in a particular setting i.e. that
organization’s view of quality.
• They provide continuity - new staff can
understand the organisation by
understanding the standards that are used.
15
EFFECTIVE SOFTWARE PROCESS
• An effective software process establishes the infrastructure that
supports any effort at building a high quality software product.
• The management aspects of process create the checks and balances
that help avoid project chaos—a key contributor to poor quality.
• Software engineering practices allow the developer to analyze the
problem and design a solid solution—both critical to building high
quality software.
• Finally, umbrella activities such as change management and technical
reviews have as much to do with quality as any other part of software
engineering practice.
PRODUCT AND PROCESS STANDARDS
• Product standards
• Apply to the software product being developed. They include document
standards, such as the structure of requirements documents, documentation
standards, such as a standard comment header for an object class definition,
and coding standards, which define how a programming language should be
used.
• Process standards
• These define the processes that should be followed during software
development. Process standards may include definitions of specification,
design and validation processes, process support tools and a description of
the documents that should be written during these processes.
17
PRODUCT AND PROCESS STANDARDS
Product standards Process standards
Design review form Design review conduct
Requirements document structure Submission of new code for system building
Method header format Version release process
Java programming style Project plan approval process
Project plan format Change control process
Change request form Test recording process
18
USEFUL PRODUCT
• A useful product delivers the content, functions, and features that
the end-user desires
• But as important, it delivers these assets in a reliable, error free way.
• A useful product always satisfies those requirements that have been
explicitly stated by stakeholders.
• In addition, it satisfies a set of implicit requirements (e.g., ease of use)
that are expected of all high quality software.
19
SOFTWARE
QUALITY
ASSURANCE
(SQA)
SOFTWARE QUALITY ASSURANCE
• In one reference it is stated that what is meant by software
quality is :
• “The fulfillment of explicitly documented functional and
performance requirements, explicitly documented standard
development, and implicit properties expected from a
professionally built software.” (Dunn, 1990)
21
THE CRITERIA
• Based on the above definition, it can be seen that a software is said
to be of quality if it fulfills three main conditions:
1. Meets user needs – which means that if the software cannot meet the
needs of the software user, then the person concerned is said to have no or
less quality
2. Meets software development standards – which means that if the
software development method does not follow standard methodologies, it
is almost certain that good quality will be difficult or not achieved.
3. Meets a number of implicit criteria – which means that if one of these
implicit criteria cannot be met, then the software in question cannot be
said to be of good quality.
22
THE PROCESSES
23
THE GOALS
• The SQA activities described in the preceding section are performed
to achieve a set of pragmatic goals:
• Requirements quality. The correctness, completeness, and consistency of the
requirements model will have a strong influence on the quality of all work
products that follow. SQA must ensure that the software team has properly
reviewed the requirements model to achieve a high level of quality.
• Design quality. Every element of the design model should be assessed by the
software team to ensure that it exhibits high quality and that the design itself
conforms to requirements. SQA looks for attributes of the design that are
indicators of quality.
24
• CONTINUE…
• Code quality. Source code and related work products (e.g., other descriptive
information) must conform to local coding standards and exhibit
characteristics that will facilitate maintainability. SQA should isolate those
attributes that allow a reasonable analysis of the quality of code.
• Quality control effectiveness. A software team should apply limited resources
in a way that has the highest likelihood of achieving a high-quality result. SQA
analyzes the allocation of resources for reviews and testing to assess whether
they are being allocated in the most effective manner.
THE GOALS
SOFTWARE QUALITY
GOALS, ATTRIBUTES,
AND METRICS
References
Lewis, W. E. (2009). Software Testing And Continuous Quality
Improvement ed. 3rd. Auerbach publications.
02
Majchrzak, T. A. (2012). Improving Software Testing: Technical And
Organizational Developments. Springer Science & Business Media.
03
Myers, G. J., Sandler, C., & Badgett, T. (2012). The Art Of Software
Testing. John Wiley & Sons.
04
Roger, S. P., & Bruce, R. M. (2019). Software Engineering: A
Practitioner’s Approach Ed.9th. McGraw-Hill Education.
01
THANK YOU
Insert the Subtitle of Your Presentation

More Related Content

PPTX
Software Testing - Software Quality (Part 2)
PPTX
Software Testing - Introduction
PPT
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
PPTX
Testing Plan
PPT
PPTX
Debugging (Part 2)
PPT
TESTING STRATEGY.ppt
PPT
Testing concepts ppt
Software Testing - Software Quality (Part 2)
Software Testing - Introduction
Chapter 5 Software Quality Assurance-Finalised_BW.ppt
Testing Plan
Debugging (Part 2)
TESTING STRATEGY.ppt
Testing concepts ppt

What's hot (20)

PPTX
Software quality assurance
PPT
Software quality
PPTX
Quality Concept
PPTX
Software Quality Assurance
PPT
requirements analysis and design
PPTX
Introduction to software testing
PPT
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
PPT
Software Testing Fundamentals
PPTX
Software Testing Introduction
PDF
Software Testing Techniques: An Overview
PPTX
Object Oriented Testing
PDF
What is Web Testing?
PPTX
Software Process Models
PPTX
Debugging
PPTX
UNIT TESTING PPT
PPT
PDF
STLC (Software Testing Life Cycle)
PPTX
Types of testing
PDF
Software testing methods, levels and types
PPT
Risk management(software engineering)
Software quality assurance
Software quality
Quality Concept
Software Quality Assurance
requirements analysis and design
Introduction to software testing
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
Software Testing Fundamentals
Software Testing Introduction
Software Testing Techniques: An Overview
Object Oriented Testing
What is Web Testing?
Software Process Models
Debugging
UNIT TESTING PPT
STLC (Software Testing Life Cycle)
Types of testing
Software testing methods, levels and types
Risk management(software engineering)
Ad

Similar to Software Testing - Software Quality (20)

PPTX
Fault code for the whole thing is that you have a
PPTX
09 fse qualitymanagement
PPTX
Software quality assurance
PPT
Software Quality Assurance presentation.
PPT
Software Quality Assurance-se412-v11.ppt
PPT
Quality Management.ppt in detail with notes
PPT
Lecture10
PPT
Software quality assurance lecture 1
PDF
software testing and quality assurance .pdf
PDF
Software Quality Assurance- Introduction
PPT
SQA_Lec#01-1.ppt
PPT
LECTURE 1 SQA.ppt
PDF
Software Quality Assurance
PPTX
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
PDF
Quality Assurance in Modern Software Development
PPT
Software Quality Assurance class 1
PPT
1 sqa and testing concepts
PPTX
UNIT-1-SQE-Dr.K.Srinivas-CSE.pptx
PPTX
SQE Lecture 1.pptx
Fault code for the whole thing is that you have a
09 fse qualitymanagement
Software quality assurance
Software Quality Assurance presentation.
Software Quality Assurance-se412-v11.ppt
Quality Management.ppt in detail with notes
Lecture10
Software quality assurance lecture 1
software testing and quality assurance .pdf
Software Quality Assurance- Introduction
SQA_Lec#01-1.ppt
LECTURE 1 SQA.ppt
Software Quality Assurance
Lec 1-SOFTWARE QUALITY ENGINEERING introduction (1).pptx
Quality Assurance in Modern Software Development
Software Quality Assurance class 1
1 sqa and testing concepts
UNIT-1-SQE-Dr.K.Srinivas-CSE.pptx
SQE Lecture 1.pptx
Ad

More from Ajeng Savitri (20)

PPTX
Software Testing Documentation
PPTX
Software Productivity Measurement
PPTX
Software Testing Strategy (Part 2)
PPTX
Software Testing Strategy
PPTX
Object Oriented Testing
PPTX
Testing Technique (Part 2)
PPTX
Testing Technique
PPTX
Methodology Selection Strategy
PPTX
Computer Evolution and Performance
PPTX
Sequence Diagram
PPTX
Activity Diagram
PPTX
Use Case Diagram
PPTX
Requirement Gathering
PPTX
Business Value
PPTX
Agile Development
PPTX
Structured Design
PPTX
Introduction to SDLC
PPTX
Systems Analyst and Its Roles (2)
PPTX
Systems Analyst and Its Roles
PPTX
Algoritma Branch and Bound
Software Testing Documentation
Software Productivity Measurement
Software Testing Strategy (Part 2)
Software Testing Strategy
Object Oriented Testing
Testing Technique (Part 2)
Testing Technique
Methodology Selection Strategy
Computer Evolution and Performance
Sequence Diagram
Activity Diagram
Use Case Diagram
Requirement Gathering
Business Value
Agile Development
Structured Design
Introduction to SDLC
Systems Analyst and Its Roles (2)
Systems Analyst and Its Roles
Algoritma Branch and Bound

Recently uploaded (20)

PPTX
Online Work Permit System for Fast Permit Processing
PDF
medical staffing services at VALiNTRY
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
System and Network Administration Chapter 2
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Digital Strategies for Manufacturing Companies
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PPT
Introduction Database Management System for Course Database
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
AI in Product Development-omnex systems
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
Online Work Permit System for Fast Permit Processing
medical staffing services at VALiNTRY
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Odoo POS Development Services by CandidRoot Solutions
System and Network Administration Chapter 2
Navsoft: AI-Powered Business Solutions & Custom Software Development
Upgrade and Innovation Strategies for SAP ERP Customers
Digital Strategies for Manufacturing Companies
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
How Creative Agencies Leverage Project Management Software.pdf
Softaken Excel to vCard Converter Software.pdf
Introduction Database Management System for Course Database
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
2025 Textile ERP Trends: SAP, Odoo & Oracle
AI in Product Development-omnex systems
ManageIQ - Sprint 268 Review - Slide Deck
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Which alternative to Crystal Reports is best for small or large businesses.pdf

Software Testing - Software Quality

  • 1. MEETING 2 INTRODUCTION TO SOFTWARE QUALITY SOFTWARE TESTING By : Ajeng Savitri Puspaningrum, M.Kom
  • 2. OBJECTIVE • Understanding the concept of quality • Explain software quality assurance 2
  • 4. QUALITY • The American Heritage Dictionary defines quality as • “a characteristic or attribute of something.” • For software, two kinds of quality may be encountered: • Quality of design encompasses requirements, specifications, and the design of the system. • Quality of conformance is an issue focused primarily on implementation. • User satisfaction = compliant product + good quality + delivery within budget and schedule 4
  • 5. SOFTWARE QUALITY • In 2005, ComputerWorld [Hil05] lamented that • “bad software plagues nearly every organization that uses computers, causing lost work hours during computer downtime, lost or corrupted data, missed sales opportunities, high IT support and maintenance costs, and low customer satisfaction. • A year later, InfoWorld [Fos06] wrote about • the “the sorry state of software quality” reporting that the quality problem had not gotten any better. • Today, software quality remains an issue, but who is to blame? • Customers blame developers, arguing that sloppy practices lead to low-quality software. • Developers blame customers (and other stakeholders), arguing that irrational delivery dates and a continuing stream of changes force them to deliver software before it has been fully validated. 5
  • 6. DEFINITION • Software quality can be defined as: • An effective software process applied in a manner that creates a useful product that provides measurable value for those who produce it and those who use it. • This definition has been adapted from [Bes04] and replaces a more manufacturing-oriented view presented in earlier editions of this book.
  • 7. CONCEPT • Software Quality Assurance (SQA) is a protective activity that is applied to all software. • SQA Includes: 1. Quality Management Approach 2. Effective software engineering technology (methods and tools) 3. Study of formal techniques applied to the entire software process 4. Multitiered testing strategy 5. Control software documentation and changes made to it. 6. Procedures to ensure compliance with software development standards (When applicable) 7. Measuring and reporting mechanism
  • 8. SOFTWARE QUALITY FOCUS • 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. • The focus may be ‘fitness for purpose’ rather than specification conformance. 8
  • 9. SOFTWARE FITNESS FOR PURPOSE • Has the software been properly tested? • Is the software sufficiently dependable to be put into use? • Is the performance of the software acceptable for normal use? • Is the software usable? • Is the software well-structured and understandable? • Have programming and documentation standards been followed in the development process? 9
  • 10. NON-FUNCTIONAL CHARACTERISTICS • The subjective quality of a software system is largely based on its non-functional characteristics. • This reflects practical user experience – if the software’s functionality is not what is expected, then users will often just work around this and find other ways to do what they want to do. • However, if the software is unreliable or too slow, then it is practically impossible for them to achieve their goals. 10
  • 11. SOFTWARE QUALITY ATTRIBUTES Safety Understandability Portability Security Testability Usability Reliability Adaptability Reusability Resilience Modularity Efficiency Robustness Complexity Learnability 11
  • 12. THE SOFTWARE QUALITY DILEMMA • If you produce a software system that has terrible quality, you lose because no one will want to buy it. • If on the other hand you spend infinite time, extremely large effort, and huge sums of money to build the absolutely perfect piece of software, then it's going to take so long to complete and it will be so expensive to produce that you'll be out of business anyway. • Either you missed the market window, or you simply exhausted all your resources. • So people in industry try to get to that magical middle ground where the product is good enough not to be rejected right away, such as during evaluation, but also not the object of so much perfectionism and so much work that it would take too long or cost too much to complete. [Ven03]
  • 14. SOFTWARE STANDARDS • Standards define the required attributes of a product or process. They play an important role in quality management. • Standards may be international, national, organizational or project standards. 14
  • 15. IMPORTANCE OF STANDARDS • Encapsulation of best practice- avoids repetition of past mistakes. • They are a framework for defining what quality means in a particular setting i.e. that organization’s view of quality. • They provide continuity - new staff can understand the organisation by understanding the standards that are used. 15
  • 16. EFFECTIVE SOFTWARE PROCESS • An effective software process establishes the infrastructure that supports any effort at building a high quality software product. • The management aspects of process create the checks and balances that help avoid project chaos—a key contributor to poor quality. • Software engineering practices allow the developer to analyze the problem and design a solid solution—both critical to building high quality software. • Finally, umbrella activities such as change management and technical reviews have as much to do with quality as any other part of software engineering practice.
  • 17. PRODUCT AND PROCESS STANDARDS • Product standards • Apply to the software product being developed. They include document standards, such as the structure of requirements documents, documentation standards, such as a standard comment header for an object class definition, and coding standards, which define how a programming language should be used. • Process standards • These define the processes that should be followed during software development. Process standards may include definitions of specification, design and validation processes, process support tools and a description of the documents that should be written during these processes. 17
  • 18. PRODUCT AND PROCESS STANDARDS Product standards Process standards Design review form Design review conduct Requirements document structure Submission of new code for system building Method header format Version release process Java programming style Project plan approval process Project plan format Change control process Change request form Test recording process 18
  • 19. USEFUL PRODUCT • A useful product delivers the content, functions, and features that the end-user desires • But as important, it delivers these assets in a reliable, error free way. • A useful product always satisfies those requirements that have been explicitly stated by stakeholders. • In addition, it satisfies a set of implicit requirements (e.g., ease of use) that are expected of all high quality software. 19
  • 21. SOFTWARE QUALITY ASSURANCE • In one reference it is stated that what is meant by software quality is : • “The fulfillment of explicitly documented functional and performance requirements, explicitly documented standard development, and implicit properties expected from a professionally built software.” (Dunn, 1990) 21
  • 22. THE CRITERIA • Based on the above definition, it can be seen that a software is said to be of quality if it fulfills three main conditions: 1. Meets user needs – which means that if the software cannot meet the needs of the software user, then the person concerned is said to have no or less quality 2. Meets software development standards – which means that if the software development method does not follow standard methodologies, it is almost certain that good quality will be difficult or not achieved. 3. Meets a number of implicit criteria – which means that if one of these implicit criteria cannot be met, then the software in question cannot be said to be of good quality. 22
  • 24. THE GOALS • The SQA activities described in the preceding section are performed to achieve a set of pragmatic goals: • Requirements quality. The correctness, completeness, and consistency of the requirements model will have a strong influence on the quality of all work products that follow. SQA must ensure that the software team has properly reviewed the requirements model to achieve a high level of quality. • Design quality. Every element of the design model should be assessed by the software team to ensure that it exhibits high quality and that the design itself conforms to requirements. SQA looks for attributes of the design that are indicators of quality. 24
  • 25. • CONTINUE… • Code quality. Source code and related work products (e.g., other descriptive information) must conform to local coding standards and exhibit characteristics that will facilitate maintainability. SQA should isolate those attributes that allow a reasonable analysis of the quality of code. • Quality control effectiveness. A software team should apply limited resources in a way that has the highest likelihood of achieving a high-quality result. SQA analyzes the allocation of resources for reviews and testing to assess whether they are being allocated in the most effective manner. THE GOALS
  • 27. References Lewis, W. E. (2009). Software Testing And Continuous Quality Improvement ed. 3rd. Auerbach publications. 02 Majchrzak, T. A. (2012). Improving Software Testing: Technical And Organizational Developments. Springer Science & Business Media. 03 Myers, G. J., Sandler, C., & Badgett, T. (2012). The Art Of Software Testing. John Wiley & Sons. 04 Roger, S. P., & Bruce, R. M. (2019). Software Engineering: A Practitioner’s Approach Ed.9th. McGraw-Hill Education. 01
  • 28. THANK YOU Insert the Subtitle of Your Presentation