Testing, Quality Assurance, and Quantiable Improvement
Tian Siyuan [email protected]
-
Meeting People’s Quality Expectations
-
Book Organization/Overview/Usage
-
Pre-requisite Knowledge
-
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
- People: Consumers vs producers
- quality expectations by consumers
- to be satisfied by producers through software quality engineering (SQE)
- Deliver software system
- 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
- Difficulties in achieving good quality:
- size: MLOC 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 SQE (software quality engineering) helps
- Major SQE activities:
- Testing: remove defect & ensure quality
- Other QA alternatives to testing
- How do you know: analysis & modeling
- Scope and content hierarchy
![](./SQE-hierarchy.png)
- Software quality engineering
- Quality assurance
- Testing
-
QA alternatives/SQE activities:
-
Overview and Basics (Part I)
-
QA alternatives:
- Testing (Part II)
- Other alternatives (Part III)
- Overall comparison
- Analysis and improvement (Part IV)
- overall mechanism
- measurements/models
- specific analyses/models
- Testing (Part II):
- all topics, but focus on techniques
- overview and general questions
- important common issues
activities/management/automation
- testing techniques
- specialization and integration
- Testing techniques
- organized by underlying models:
lists and partitions
finite-state machines
- both black-box and white-box views
- both coverage goals and usage/reliability goals
- Other alternatives (Part III):
- defect prevention
- inspection, review, analysis
- formal verification
- defect containment
- comparison, including testing
- Comparing different QA alternative
- applicability and effectiveness
- dealing with quality problems/defects:
prevention/removal/tolerance
- cost
- overall comparison
- Math/statistics:
- 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 SE knowledge and experience