Processes and methods for developing, assessing and maintaining quality software. Quality factors, reliability, robustness etc. Software quality assurance via verification, testing and fault-tolerance. Software quality standards and enforcement processes. Software verification.
Software Quality Assurance and/or Software Testing
At the end of the course the student should be able to
The tentative point distribution is as follows.
Homeworks | 20% |
Project | 40% |
Final Exam | 40% |
Week | Topic | Readings |
---|---|---|
1 | Introduction
Slides: Ch1, Ch2, Ch3 |
Chapter 1, 2 and 3 |
2 and 3 | Quality Assurance (QA), Supplier Quality Engineer (SQE) overview and testing techniques
Slides: Ch4, Ch5, Ch6 |
Chapter 4, 5 and 6 |
4 and 5 | Testing Activities, Management, and Automation; Coverage and Usage Testing
Based on Checklists and Partitions; Boundary Testing
Slides: Ch7, Ch8, Ch9 |
Chapter 7, 8 and 9 |
6 | Coverage and Usage Testing Based on Finite-State Machines and Markov Chains;
Control Flow, Data Dependency, and Interaction Testing
Slides: Ch10, Ch11 |
Chapter 10 and 11 |
7 and 8 |
Testing Techniques: Adaptation, Specialization, and Integration
Defect Prevention and Process Improvement;
Software Inspection
Slides: Ch12, Ch13, Ch14 |
Chapter 12, 13 and 14 |
9 and 10 |
Formal Verification;
Fault Tolerance and Failure Containment;
Comparing QA Techniques and Activities
Slides: Ch15, Ch16, Ch17 |
Chapter 15, 16 and 17 |
11 | Feedback Loop and Activities for Quantifiable Quality Improvement;
Quality Models and Measurements
Slides: Ch18, Ch19 |
Chapter 18, 19 |
12 and 13 |
Defect Classification and Analysis;
Risk Identification for Quantifiable Quality Improvement;
Software Reliability Engineering
Slides: Ch20, Ch21 Ch22 |
Chapter 20, 21 and 22 |
14 | Project Presentations | |
15 | Final Exam | . |
The instructor reserves the right to make changes to the above syllabus as necessary. Students are responsible to be aware of changes announced in class and/or via the internet.