Lecture 01 - Introduction and Software Quality
Lecture 01 - Introduction and Software Quality
Lecture 01 - Introduction and Software Quality
LECTURE 1
3
QUALITY
What is Quality???
Synonym: Excellence, Superiority, Class, Grade
Antonym: Inferior
QUALITY
■ Software Quality is
1. The degree to which a system, component, or process meets specified
requirements, and
2. The degree to which a system, component, or process meets customer or user
needs or expectations (IEEE)
■ The totality of features and characteristics of a product or service that bear on its
ability to satisfy specified or implied needs (ISO)
6
WHY QUALITY ASSURANCE?
7
THE CHARACTERISTICS OF SQA ENVIRONMENT PROCESS
Being contracted
Subjection to customer-supplier relationship
Requirement for teamwork
Need for cooperation and coordination with other development teams
Need for interfaces with other software systems
Need to continue carrying out a project while the team changes
SQA ENVIRONMENT
Being Contracted:
Professional software development is almost always contracted.
Have requirements / supplied requirements (hopefully)
But may have in-house customer representatives.
Or, customer representatives available…
Budget
Time schedule
SQA ENVIRONMENT
Required Teamwork
We need teams due to
Time required for development.
Workload is too much for a single person
A frequent variety of experts needed
Database; networking; algorithms; …
Need ‘independent’ reviews to ensure quality
Who is ‘on the team?’
Developers Clients Customers Others???
SQA ENVIRONMENT
What is software?
Software errors, faults and failures
differences
Classification of the causes of software errors
Software quality – definition
Software quality assurance – definition and objectives
Software quality assurance and software engineering
SOFTWARE
According to the IEEE:
Software is: Computer programs, procedures, and possibly associated documentation
and data pertaining to the operation of a computer system.
A ‘similar definition comes from ISO:
ISO definition (from ISO 9000-3) lists four components necessary to assure the quality of
the software development process and years of maintenance:
computer programs (code)
procedures
documentation
data necessary for operating the software system.
BASIC DEFINITIONS
25
SOFTWARE QUALITY ASSURANCE
26
SOFTWARE QUALITY CONTROL VS QUALITY ASSURANCE
QA substantially reduces the rate of products that do not qualify for shipment
and/at the same time, reduce the costs of guaranteeing quality in most cases.
Software Testing
28
CLASS ACTIVITY
Put yourself in a situation that you are purchasing smartphone from some stranger on
OLX like website.
You have to test quality of features that value the most for you…