0% found this document useful (0 votes)
35 views

Software Quality Assurance (SE 493-3) : Lecture # 1 Adnan Bashir

The document discusses software quality assurance. It defines software quality and explains why it is important. Ensuring high quality reduces costs and risks. Quality assurance involves defining quality processes to minimize defects. Challenges include defining quality measures appropriate for each project and integrating quality planning from the start of development.

Uploaded by

Arooj Fatima
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Software Quality Assurance (SE 493-3) : Lecture # 1 Adnan Bashir

The document discusses software quality assurance. It defines software quality and explains why it is important. Ensuring high quality reduces costs and risks. Quality assurance involves defining quality processes to minimize defects. Challenges include defining quality measures appropriate for each project and integrating quality planning from the start of development.

Uploaded by

Arooj Fatima
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Software Quality Assurance

(SE 493-3)

Lecture # 1
Adnan Bashir
1
Introduction
• This course deals with a very important aspect of software
engineering: quality assurance of software products and
services
• We’ll learn different aspects of software quality assurance in
this course
• World economy is moving towards automation approximately $
500 Billion.
• We should know different technique as well as aspects of
research and practices of software Quality in software
engineering profession.

2
Introduction
• In the first few lectures, we will discuss what software quality
is and how it impacts the development of the software
development and maintenance and other basic concepts in
SQA
• In the second phase of this course, we’ll discuss in detail the
activities and process in each phase of the software
development lifecycle, as they relate to software quality
assurance
• Software quality assurance in not only deal with programming

3
Introduction
• In the third part of this course, we’ll discuss different topics or
processes related to software quality assurance. We’ll look at
quality assurance processes, some of the major process
improvement programs from the quality assurance’
perspective
• We can’t improve the quality without changing the fundament
way of developing technique the process
• We’ll also study some other topics, given our time constraints

4
What is Quality?
• Can you define quality?
• You must be thinking, what kind of question is that. It is very
easy to define quality, but if you think really hard, it is not that
easy to define quality
• Have you come with a definition? Let’s see what I have in
store for you

5
Synonyms of Quality
• Excellence
• Superiority
• Class
• Eminence
• Value
• Worth

Antonym of Quality
• Inferiority

It is very difficult to define quality in isolation 6


You can create some thing and it can be worthless but not the
quality
Marketability of Quality
• Everyone claims to manufacture / develop / sell / market
“good” quality products / services
• You will never come across a person or company selling
products or services as low or poor quality products, even
when they are
• Why Quality is Important?
• Why business should be concerned with quality:
• Quality is competitive issue now
• Quality is a must for survival
• Quality gives you the global reach
• Quality is cost effective
• Quality helps retain customers and increase profits
• Quality is the hallmarks of world-class business 7
Software Quality
• Difficult to define
• Software quality is somewhat like the concept of
beauty. Each of us has a strong opinion about what
constitutes beauty, and we recognize it when we see
it. But when asked to explain exactly why we regard an
object as beautiful, it is hard to put the factors into
words

8
What is Software?
• According to the IEEE Software is: “Computer
programs, procedures, and possibly associated
documentation and data pertaining to the
operation of a computer system”.

9
Software Quality
• According to the IEEE
• Software quality is:
• The degree to which a system, component, or process
meets specified requirements.
• The degree to which a system, component, or process
meets customer or user needs or expectations.
• According to Pressman
• “Conformance to explicitly stated functional and
performance requirements, explicitly documented
development standards, and implicit characteristics that
are expected of all professionally developed software”.
10
Software Quality, Cont.…
• Quality as it relates to all aspects of software
(requirements / design / code / tests /
documents / training). – Project Management, Project
Planning, Configuration Management
• Good software quality characteristics can be identified
• Bad or undesirable characteristics can also be identified
• Software quality attributes

11
Software Quality Definitions
• Low levels of defects when deployed, ideally
approaching zero. (development strategies required)
• High reliability, or the capability of running
without crashes or strange results (after deployed)
• A majority of clients with high user-satisfaction
when surveyed (ultimate definition)

12
Software Quality Definitions, Cont.…
• A structure that can minimize “bad fixes” or
insertion of new defects during repairs
• Effective customer support when problems do
occur
• Rapid repairs for defects, especially for high-
severity defects

13
Importance of Software Quality
• Software is a major component of computer systems
• (about 80% of the cost) – used for
• communication (e.g. phone system, email system)
• health monitoring,
• transportation (e.g. automobile, aeronautics),
• economic exchanges (e.g. ecommerce)
• entertainment,
• etc.
• Software defects are extremely costly in term of
• money
• reputation
• loss of life 14
Importance of Software Quality
• Several historic disasters attributed to software
• 1988 shooting down of Airbus 320 by the USS
Vincennes cryptic and misleading output displayed by
tracking software
• 1991 patriot missile failure inaccurate calculation of
time due to computer arithmetic errors.
• London Ambulance Service Computer Aided Dispatch
System – several deaths
• On June 3, 1980, the North American Aerospace
Defense Command (NORAD) reported that the U.S.
was under missile attack.
15
Importance of Software Quality
• First operational launch attempt of the space shuttle,
whose real-time operating software consists of about
500,000 lines of code, failed synchronization problem
among its flight control computers.
• 9 hour breakdown of AT&T's long distance telephone
network caused by an untested code patch

16
Why Software Quality?
• Reduces time to market for new products
• Enhances market share compared to direct competitors
• Minimizes “scrap and rework” expenses
• Attracts and keeps “top-gun” personnel
• Minimizes the risk of serious litigation

17
Why Software Quality?
• Minimizes the risk of serious operating failures and delays
• Minimizes the risk of bankruptcy or business failures, which
may be attributed directly to poor quality or poor software
quality

18
Software Quality Assurance
• So the term software quality assurance would mean that the
software guarantees high quality
• Quality assurance (QA) is the definition of processes and
standards that should lead to high-quality products and the
introduction of quality processes into the development
process.
• Quality control is the application of these quality processes
to weed out (remove) products that are not of the required
level of quality
• The quality team should be independent from the
development team so that they can take an objective view of
the software.
• This allows them to report on software quality without being 19
influenced by software development issues.
Software Quality Challenges
• The measures for quality differ from project to project
and organization to organization
• Quality measures used for small systems may not be appropriate
for the large ones.
• Criteria for quality vary as a function of the specific
characteristics of the project, the needs of the users and
stakeholders, and the application requirements of the
system and software.
• Criteria for quality applied to real-time applications are not always
relevant when dealing with systems that are not real-time.

20
Software Quality Challenges
• Quality cannot be directly checked in the product; it must
planned right from the beginning.
• Complex Software requires different monitoring procedures
than trivial applications
• Quality criteria vary dramatically depending on the phase of
the project at which the evaluation takes place
• The measures of the quality must be specific to the project
being evaluated and must assess the effectiveness of the
entire development process, not just individual segments

21
Software Quality Challenges
• Quality goals must be clearly defined, effectively monitored,
and rigorously enforced
• The project must focus on the quality issues of the project
from the beginning, ensuring that quality criteria are
consistent with defined requirements.
• Quality must be planed into the project structure, constantly
evaluated, and corrections applied when deficiencies are
identified.

22

You might also like