CSE-323 Software Quality Engineering
Credit Hours 3(2-3) Prerequisites none
Teacher:
Course Description:
This course is designed to impart an understanding of the key concepts and principles in
creating and managing successful software testing to meet specific requirements using best
practices of software quality assurance. Topics covered include Introduction to Software
Quality, Software Defects, Reasons of Poor Quality, Quality Laggards, Cost and Economics
of SQA, Quality Measurements, Software Requirements and SQA, Requirements Defects,
Writing Quality Requirements, Quality Attributes of Requirements Document, Introduction to
Quality Metrics, Models for Quality Assessments, Risk identification for quantifiable quality
improvement, Software reliability engineering.
Course Objective:
Overview of software metrics; Basics of measurements; Goal-based framework for software
measurement; Software measure classification; Empirical investigation, principles and
techniques; Formal experiments: Planning, principles, types and selection; Measuring
internal product attributes: size and structure; Measuring cost and effort; Measuring external
product attributes: quality and reliability; Software test metrics; Object-oriented metrics.
Teaching Methodology:
Lectures, Written Assignments, Practical labs, Semester Project, Presentations
Course Assessment:
Mid Exam, Home Assignments, Quizzes, Project, Presentations, Final Exam
Reference Material:
Software Quality Engineering Testing, Quality Assurance, and Quantifiable
Improvement, Jeff Tian, Wiley,2005.
The art of Software Testing, Myers J. Badgett T. & Sandler C. 3rd Edition, John
Wiley & Sons, 2012
Software Quality Engineering: A Practitioner’s Approach, Suryn, W., John Wiley
& Sons, NJ, USA, 2014.
Software Testing: A Craftsmans’ Approach, Jorgensen P.C., CRC Press,2014.
Software Engineering, A Practitioner’s Approach, Pressman R. S. Palgrave
Macmillan,2005 Software Quality Engineering Testing, Quality Assurance, and
Quantifiable
Course Learning Outcomes (CLOs):
At the end of the course the students will be able to: Domain BT Level*
1. Outline software testing and software quality assurance
C 1
principles
2. Prepare test case and test suites for completely testing all
C 3
aspects of a system under test (SUT)
3. Analyze which of the software testing techniques are
relevant for a particular case and know software reliability C 4
analysis tools and techniques
4. Compile findings of a quality assurance cycle C 5
* BT= Bloom’s Taxonomy, C=Cognitive domain, P=Psychomotor domain, A= Affective
domain
Week/ Lecturer Theory Lab Task
#
• Software Quality
• Quality: Perspectives and Expectations
I • Quality Frameworks and ISO-9126 Introduction to testing tools
• Correctness and Defects: Definitions,
Properties, and Measurements Testing tools installation
Week 1 • Software Quality Attributes,
• Causes of software failure
• Software Defects
II • Types of software defects (errors,
faults, failures) Cost of defects
• Cost of software quality (CoSQ)
Quality Assurance To study System
Defect Prevention Specifications and
I Defect Reduction Bugs.
Week 2 Defect Containment
• QA Activities in Software Processes
II • Verification and Validation Perspectives
• Quality Engineering •
• Quality Engineering: Activities and
I Process
• Quality Planning: Goal Setting and
Week 3
Strategy Formation
• Quality Assessment and Improvement •
II • Quality Engineering in Software
Processes
The Psychology and Economics of Software
I Testing
Week 4
II Testing: Concepts, Issues, and Techniques
• Test-Case Design • Write Test Cases for
I • White Box Testing Techniques known Application.
Week 5 • Exercises
• Black Box Testing Techniques •
II
• Exercises
• Unit Testing •
I • Incremental Testing
Week 6 • Exercises
• Top-Down versus Bottom-Up Testing •
II
• Exercises
Week 7 I • Higher Order Testing •
• Finite-State Machines and Testing
• FSM Testing: State and Transition
Coverage
• Case Study: FSM-Based Testing of
Web-Based Applications
• Markov Chains and Unified Markov •
Models for Testing
• Using UMMs for Usage-Based
II Statistical Testing
• Case Study Continued: Testing Based
on Web Usages
• Basic Control Flow Testing •
• Loop Testing, CFT Usage, and Other
I Issues
• Exercise
Week 8 • Data Dependency and Data Flow •
Testing
II • DFT Coverage and Applications
• Exercises
Mid Term Exam
• QUALITY ASSURANCE BEYOND •
I TESTING
Week 09 Defect Prevention and Process
II
improvement
• Software reviews •
• Software Inspection
I • Basic Concepts and Generic Process
Week 10 • Fagan inspection
• Defect Detection Techniques, •
TooYProcess Support, and
II Effectiveness
• Inspection checks and metrics
• Formal Verification •
I • Basic Concepts: Formal Verification
Week 11 and Formal Specification
• Fault Tolerance and Failure •
II
Containment
• Models for Quality Assessment •
I • Generalized Models
Week 12 • Product-Specific Models
• Model Comparison and •
II Interconnections
• Data Requirements and Measurement
I Product quality metrics, Quality Measurements
Week 13 Defect Classification and Analysis
II
Risk Identification for Quantifiable Quality
I
Improvement
Week 14
Risk Identification for Quantifiable Quality
II
Improvement
Software Reliability Engineering
Week 15 I
Software Reliability Engineering
II
I Project presentation
Week 16
II Project presentation
Final Term Exam