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.