2. Tian: Software Quality Engineering Slide (Ch.1) 2
General Expectations
• General expectation:
“good” software quality
• Objects of our study: software
Þ software products, systems, and services
Þ stand-alone to embedded
Þ software-intensive systems
Þ wide variety, but focus on software
• Quality (and how “good”) formally defined in
Ch.2
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
3. Tian: Software Quality Engineering Slide (Ch.1) 3
Quality Expectations
• People: Consumers vs producers
Þ quality expectations by consumers
Þ to be satisfied by producers through
software quality engineering ( S Q E )
• Deliver software system that...
Þ does what it is supposed to do
– needs to be “validated”
Þ does the things correctly
– needs to be “verified”
Þ show/demonstrate/prove it (“does”)
– modeling/analysis needed
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
4. Tian: Software Quality Engineering Slide (Ch.1) 4
Meeting Quality Expectations
• Difficulties in achieving good quality:
Þ size: M L O C products common
Þ complexity
Þ environmental stress/constraints
Þ flexibility/adaptability expected
• Other difficulties/factors:
Þ product type
Þ cost and market conditions
Þ addressed later (especially Part III)
• “no silver bullet”, but...
S Q E (software quality engineering) helps
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
5. Tian: Software Quality Engineering Slide (Ch.1) 5
S Q E as an Answer
• Major S Q E activities:
Þ Testing: remove defect & ensure quality
Þ Other Q A alternatives to testing
Þ How do you know: analysis & modeling
• Scope and content hierarchy: Fig.1.1 (p.6).
Software quality engineering
Quality assurance
Testing
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
6. Tian: Software Quality Engineering Slide (Ch.1) 6
B o o k Contents
• Q A alternatives/SQE activities:
(and mapping to our Parts/Chapters)
• Overview and Basics (Part I)
• Q A alternatives:
Þ Testing (Part II)
Þ Other alternatives (Part III)
Þ Overall comparison (Ch.17)
• Analysis and improvement (Part IV)
Þ overall mechanism (Ch.18)
Þ measurements/models (Ch.19)
Þ specific analyses/models (Ch.20∼22)
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
7. Tian: Software Quality Engineering Slide (Ch.1) 7
B o o k Contents
• Testing (Part II):
Þ all topics, but focus on techniques
Þ overview and general questions (Ch.6)
Þ important common issues (Ch.7)
– activities/management/automation
Þ testing techniques (Ch.8∼11)
Þ specialization and integration (Ch.12)
• Testing techniques (Ch.8∼11):
Þ organized by underlying models:
– lists and partitions (Ch.8&9)
– finite-state machines (Ch.10&11)
Þ both black-box and white-box views
– all chapters
Þ both coverage goals (all chapters) and
usage/reliability goals (Ch.8&10)
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
8. Tian: Software Quality Engineering Slide (Ch.1) 8
B o o k Contents
• Other alternatives (Part III):
Þ defect prevention (Ch.13)
Þ inspection, review, analysis (Ch.14)
Þ formal verification (Ch.15)
Þ defect containment (Ch.16)
Þ comparison, including testing, (Ch.17)
• Comparing different Q A alternative
Þ applicability and effectiveness
Þ dealing with quality problems/defects:
– prevention/removal/tolerance
Þ cost
Þ overall comparison (Ch.17)
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
9. Tian: Software Quality Engineering Slide (Ch.1) 9
Content Dependency
Chapter 7
Chapter 8 Chapter 10
Chapter 12
Chapter 9 Chapter 11
Essential dependency
Chapter 17
Chapter 2
Chapter 3
Non−essential dependency
Chapter 4
Chapter 5
PART I
Chapter 1
PART IV
PART III
PART II
Chapter 6
Chapter 13
Chapter 14
Chapter 15
Chapter 16
Chapter 18
Chapter 19
Chapter 20
Chapter 21
Chapter 22
• Dependency: Fig 1.2 (p.10) above
Þ Essential (solid-lines): prior knowledge
Þ P art I precedes other (parallel?) parts.
Þ Non-essential (dashed-lines) sequence,
e.g., simple→complex/top-down/etc.
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)
10. Tian: Software Quality Engineering Slide (Ch.1) 10
Usage and Readership
• Math/statistics pre-requisite:
Þ discrete math, logic, graph, etc.
Þ probability and statistics
Þ used in modeling/analysis.
• Background knowledge in CS/SE:
Þ computer systems and programming
Þ fundamentals of computing
Þ general S E knowledge and experience
• Detailed lists: Section 1.4
– review/self-study for specific topic
Wiley-IEEE/CS Press, 2005 Slides V2 (2007)