Software Quality Engineering: Iram Hina
Software Quality Engineering: Iram Hina
ENGINEERING
Lecture 1
Iram Hina
BSSE-VI
FACULTY INTRODUCTION
BS (Fatima Jinnah Women University)
MS (College of Electrical and Mechanical
Engineering, NUST)
Research Area
Digital Image Processing
Machine Learning
Experience
2 Android Development (3 years)
Web Development (1 year)
Iram Hina
BSSE-VI
COURSE CONTENT
Introduction to the concepts, philosophies, tools,
techniques, guidelines, and framework for software
quality assurance
Verification and validation of software
Measurement of quality, quality factors, quality costs at
different stages of software development lifecycle
Software testing and usability evaluation methods
Software quality standards
Iram Hina
BSSE-VI
COURSE CONTENT
Software Quality Engineering, which is organized into three major
topics:
Software testing as a primary means to ensure software
quality;
Other alternatives for quality assurance (QA), including
Iram Hina
BSSE-VI
COURSE CONTENT
Overview of Software Quality: Quality Assurance, Quality Aspects
and factors, Quality Principles
Software Models for testing and quality analysis: Control and Data
flow graphs
Quality Processes: Planning and Documentation, Risk Analysis,
Metrics
Software Testing: Phases of Testing, Test Coverage, Verification and
Validation Techniques, Black box, white-box testing techniques,
Testing using Fault Models, Test Execution
Software Quality Standards: ISO-9126, CMMI
Iram Hina
BSSE-VI
EVALUATION CRITERIA
Assignments
Quizzes
Midterm exams
Final Exam
Presentation
Iram Hina
BSSE-VI
HADITH OF THE DAY
10
Iram Hina
BSSE-VI
WHAT IS QUALITY?
Quality can mean different things to different people.
E.g. Car (Speed, comfort, style, safety, reliability)
In software terms, we consider Quality to be about delivering
a product that meets the customer's requirements, at an agreed
cost, and within agreed timescales.
It is no use delivering a perfect piece of code that cost twice
as much as intended
customer requirements can include some expectations of
usability, reliability, maintainability, portability, extendibility,
security, etc. These are what we call Non-Functional
Requirements.
11
Iram Hina
BSSE-VI
WHAT IS QUALITY?
We also use the term "fitness for purpose". What we mean by that is
that we shouldn't waste time & effort building in features that the
customer doesn't really want.
Ultimately, this leads us to the key criterion: That of customer
satisfaction. Whatever we do, if the customer isn't satisfied (&
doesn't give us repeat business), then we've failed in some way.
So SQE is about giving ourselves the best chance of success in
achieving all of this.
12
Iram Hina
BSSE-VI
QUALITY EXPECTATIONS
Our (as developers) objective is to deliver
software system that...
show/demonstrate/prove it
modeling/analysis needed
13
Iram Hina
BSSE-VI
QUALITY EXPECTATIONS
Difficulties in achieving good quality:
Size of products (common)
complexity
environmental stress/constraints
flexibility/adaptability expected
Other difficulties/factors:
product type
cost and market conditions
14
Iram Hina
BSSE-VI
SOFTWARE FAILURES: THE STATISTICS
15
Iram Hina
BSSE-VI
TURNING FAILURE TO SUCCESS: SQE
16
Iram Hina
BSSE-VI
THE SQE PROCESS
1. Quality planning: plans assure that
– Software development, evaluation, and acceptance
standards are developed, documented and followed
– The results of quality reviews are given to appropriate
management
– That test results adhere to acceptance standards
2. Software testing as the primary means to ensure quality
3. Other alternatives for quality assurance (QA) e.g. defect
prevention, process improvement, inspection, formal
verification, fault tolerance, safety assurance, and damage
control
4. Measurement and analysis to close the feedback loop for
assessment and quantifiable improvement
17
Iram Hina
BSSE-VI
SCOPE OF MAJOR SQE ACTIVITIES
Quality Assurance
Testing
18
Iram Hina
BSSE-VI
SOFTWARE QUALITY
Two features of a piece of quality software:
Conformance to its specification
19
Iram Hina
BSSE-VI
DIFFERENT VIEWS OF QUALITY
Examine the different views of quality based on the different roles
Researchers have divided it in to five major views
Transcendental view: some intangible properties that can’t be seen but delight
the users (quality is hard to define or describe in abstract terms)
(Transcendental view e.g. efficient algorithm can do things with speed, cant
be seen by user but can delight him
User view: fitness for purpose, meeting users’ needs
Manufacturing view: conformance to process standards
Product view: focus is on the inherent characteristics in the product itself in
the hope that controlling these internal metrics will improve external
behavior of the product
Value-based view: quality is the customers’ willingness to pay
20
Iram Hina
BSSE-VI
SYSTEM CHARACTERISTICS
External:
What a systems user is interested in; typically properties of any
single particular system.
Internal:
What programmers/management are interested in; properties of
the development of a collection of systems.
21
Iram Hina
BSSE-VI
EXTERNAL CHARACTERISTICS
Correctness- Degree to which system is free from faults in specification,
design and implementation.
Usability- The Ease with which users can learn and use the system.
Efficiency- Minimal use of system resource including memory and
execution time.
Reliability- The ability of a system to perform whenever required
without/with few failures.
Integrity- Prevention of unauthorized or improper use.
Adaptability- Usability in other application than the original one.
Accuracy- Degree of “quantitative” correctness.
Robustness- Functioning of system in presence of invalid inputs, stress
environment.
22
Iram Hina
BSSE-VI
INTERNAL CHARACTERISTICS
• Maintainability: Ease of modifying software for changing/adding
capabilities, improving performance.
• Flexibility: Extend of modifying system for other uses/environments.
• Portability: Ease of modifying system for operating in different
environment.
• Reusability: Extend of using parts in other systems.
23
Iram Hina
BSSE-VI
END OF LECTURE
THANK YOU !
QUESTIONS?
24