Lecture-1 (2)
Lecture-1 (2)
ENGINEERING
Lecture # 1: Overview
Ayesha Kanwal
Department of Computing (DoC), SEECS, NUST
Course topics overview
Software inspection
Assignments:
Each assignment will count towards the
total.
Late assignments will not be
accepted / graded.
Quiz policy:
Quizzes may be announced or
unannounced.
No best of quizzes policy.
6 Why Software Quality Assurance?
Testing
Quality
Assurance
Software quality
engineering
What is software quality??
Conformance to requirements
(Crosby)
Problems:
What if requirements are wrong?
How do you know if requirements are
being met?
Fitness For Use (Juran/Gruna)
Problems:
How many different ways are there for a
customer to ‘use’ a product?
Customer’s view of Quality
Perceived value of the product based on price,
performance, reliability, and satisfaction
Two perspectives
“small q”
Intrinsic product quality
defect rate - how many bugs, or missing
functions
What is considered a defect to the customer?
reliability - how often it fails
“big Q”
Broader level of quality
product quality
process quality
customer satisfaction
Two perspectives
Will a good ‘q’ guarantee customer
satisfaction?
Many definitions:
The degree to which a software entity's
behavior matches its specification
The degree to which a system is free
from defects in its specification, design
and implementation.
The ability of software products to
perform their exact tasks as defined by
their specification.
Free from error, accurate, in
accordance with specifications.
Correctness and defects
Dormant faults
Cost of removing defects
26
Defect Prevention
Defect Detection and Removal
Defect Containment
Defect Prevention
Basic ideas
Behavior formally specified:
pre/post conditions, or
as mathematical functions.
Verify “correctness":
intermediate states/steps,
axioms and compositional rules.
Approaches: axiomatic/functional/etc
Software Defect Prevention Opportunity Tree
Fault tolerance
Fault present in the software but removal
is infeasible or impractical
Fault tolerance - > contain defects
Fault tolerance techniques:
Recovery: rollback and redo
Block the fault (N-version programming)
Defect Impact Reduction Opportunity
Tree
Business case analysis
Size (Loss)
Fault tolerance
Self-stabilizing SW
Graceful
Degredation Manual Backup
Rapid recovery
Generic ways to deal with defects
Thank you !!!