SEN 304: Software Testing & Quality Assurance



Learning Outcomes
At the end of this Course, students should be able to:
1. state the critical importance of software testing in ensuring software quality;
2. explain the difference between validation and verification and their different techniques;
3. describe the concept of quality assurance and differentiate between process assurance and product assurance;
4. describe the different statistical approaches to quality control.

Course Contents
The importance of Software Testing. Understanding Verification and Validation. How to assure it and verify it, and the need for a culture of quality. Avoidance of errors and other quality problems. Inspections and reviews. Testing, verification and validation techniques. Process assurance vs. Product assurance. Quality process standards. Product and process assurance. Problem analysis and reporting. Statistical approaches to quality control
Lab WorK: Debugging tools; unit testing – black box and white testing techniques; integration and system testing tools; other testing tools – performance testing, load testing, stress testing, regression testing, security testing; manual testing vs automated testing.