(A Chartered University)

Fall 2016

CSSE351 – Software Quality Assurance (3 Credits Hrs)

Course Outline and Lesson Plan


Instructor Information:


DrSaad Bin Saleem




Office Hours

  • 11:00 am to 12:00 pm on Monday, Wednesday and Friday.
  • Any other time only by appointment.

Teaching Assistant

  • Suneel Amir


  • Rafia Irshad Akhtar 

Contact address:


Course Information:


CSSE 351




Software Quality Assurance

Course Description

The aim of this course is to introduce the field of Software Quality Assurance (SQA) to the students.  During this course, the students will learn the basic models of software quality assurance, software testing techniques, how to do software testing planning, execution and the documentation. Additionally, one portion of the course is dedicated to help students to develop an understanding about the methods to assess and improve the software quality and about the techniques to measure software quality using quality, product and process metrics.

Class meet

Tuesday and Thursday: 09:30 to 10:45

Room: S-210

Pre- Requisite

COMP 220 Software Engineering

Course web page 2016/CSSE351.htm

Learning Objectives

Upon the completion of this course, the students are expected to know the following

·         Able to describe the fundamental concepts of software quality assurance.

·         Know the definition of software quality requirements.

·         Able to assess the quality of a software design.

·         Able to apply and evaluate appropriate processes and tools to a software development project for quality assurance.

·         Developed an understanding about the role of metrics in software quality assurance and be able to apply these metrics to measure the quality of the various phases of software development.

·         Able to generate, evaluate and apply a quality plan to a development project to track the quality of a significant deliverable.

·         Able to explain quality assurance and control activities and techniques.

·         Able to understand the role of testing in quality assurance and to apply the several appropriate testing techniques to software development projects.

·         Able to describe various testing techniques including being able to verify and test a unit of code.

·         Able to execute an effective inspection of a deliverable of a software development project and evaluate the results to make process improvements.

·         Able to explain the ISO standards, CMM and CMMI.

Text Books

  • Jeff Tian: "Software Quality Engineering: Testing, Quality Assurance, and Quantifiable Improvement ", Wiley/IEEE press

Reference Books

  • William E. Lewis, "Software testing and Continuous Quality improvement", Third Edition, CRC Press, 2009.
  • D. Galin: “Software Quality Assurance: From Theory to Implementation”, Pearson Education, 2004.
  • G. Gordon Schulmeyer: “Handbook of Software Quality Assurance”, Fourth Edition, Artech House, 2008.
  • K. Naik and P. Tripathy: “Software Testing and Quality Assurance”, Wiley, 2008.
  • Tim Kasse, "Practical Insight into CMMI ", Artech House, 2008.
  • Margaret K. Kulpa, and Kent A. Johnson," Interpreting the CMMI - A process improvement approach ", CRC Press, Taylor & Francis Group, 2008.
  • Phillip A. Laplante, “What every engineer should know about Software Engineering”, CRC press, 2007.

Important to know

·         All the assignments are due before midnight on the due date at 11:59 pm.

·         In this course, the students can be called to appear for a viva randomly to determine their knowledge. However, it is compulsory for students to appear in the viva sessions arranged by the instructor. 

·         The late assignments will not be graded, unless previous accommodations have been made with the course instructor.

·         There will be no retake for the quiz, unless previous accommodations have been made with the course instructor.

·         The students are advised to attend all lectures. However, 85% attendance is compulsory for this course. It is entirely the students' responsibility to recover any information or announcements presented in lectures from which they were absent.

·         Any work you submit in this course that should be your own.

·         You are not allowed to submit a work of a fellow or a work which you have done together with a peer.

·         You are allowed to work in the groups only with the permission of course instructor or only if he asks you to form groups in the class. Otherwise an unauthorized group effort will be considered as an academic dishonesty.

·         You may discuss homework in a general way with your fellows. However, you are not allowed to copy or consult anyone else's written work.

·         You are guilty of academic dishonesty if:

                                I.            You examine another's solution to an assignment/quiz/project/exam

                             II.            You allow another student to examine your solution of an assignment/quiz/project/ lab-work or any exam.

                           III.            You fail to take reasonable care to prevent another student from examining your solution and that student does examine your solution.

Course Policy:

In case of unauthorized group efforts, academic dishonesty/fraud, cheating and plagiarism following policy is applicable (All cases of breach of Academic Integrity will be reported to head of department at first instance. The instructor of this course can report such cases to Vice Rectors’ office/AIC) directly. The following are key points of course policy to remember.


·         ZERO TOLERANCE POLICY on any academic integrity breach for midterm exam, final exam, assignments, quizzes and project.    

·         Cheating or violation of academic integrity in any exam/project will cause F grade in the course.

·         In this course, the instructor will take attendance quiz randomly without announcing in advance.

·         In this course, the instructor can judge the discipline of a student and can deduct discipline marks whenever necessary.

·         All the assignments should be submitted to the email with subject CSSE351  Fall 2016.  

·        You should name your document with your roll number for each assignment while sending on the “”.  


Grading Policy:

·         The relative method of grading will be adopted in this course.

·         One percent from the overall 5 percent absolute attendance marks will be deducted if you are absent during the attendance quiz.

·         Misbehavior or disturbance in the class will lead to the deduction of 1% absolute mark from the overall discipline marks.

·         In this course, all the assignments and two best quizzes will be added in the overall grading.

·         In this course, 5% is the weight of each assignment, 2.5% is the weight of each quiz, 2.5% is the weight of each activity, 6% is the weight of project report and 4% is the weight of presentation and opposition.

Assessment Criteria

Attendance quizzes












Midterm exam


Final exam




Lesson Plan

Week no


Activities and Deadlines


Course Introduction:

  • The objectives of course.
  • Why students need to study this course?
  • How this course will help students in shaping their careers.
  • The teaching strategy I am adopting.
  • The course assessment criteria.


Overview and Basic Concepts

  • The different views of software quality
  • The Garvin’s dimensions of software quality and the IEEE definition.
  • Quality perspective and expectations.
  • Quality frameworks (ISO 9126).
  • GQM, and McCall’s model.
  • Defect classification.

o   The historical perspective of software quality assurance.

  • Classification of software quality assurance methods.

o   Defect prevention.

o   Defect containment.

o   Defect reduction.

o   Inspection.

o   Testing.



Activity 1










3, 4, 5 & 6

Software Testing

  • The purpose of software testing.
  • The software testing activities.
  • The software testing process.

o   Functional testing.

o   Structural testing.

o   Coverage and usage based testing.

  • Automated Testing exercise with Junit.
  • Software test planning.
  • Software test execution.
  • Software test analysis and follow-up.
  • Software test automation. 
  • Software test documentation.
  • Software testing methodologies.

o   Checklist.

o   Partitions.

o   Operational profiles.

  • Regression testing.



Quiz 1 Results


Quiz 2 Results



Activity 2 (Junit exercise) Helping material.



1st Video tutorial on Junit testing.


2nd Video tutorial on Junit testing.


Software Test Case Specification

  • Exercise on writing the test case specification.
  • Introduction to regression testing.


Assignment 1 Description (Deadline for assignment 1 is 13th November, 2016).


Test case documentation template.


Test case description example.


Assignment 1 Results


·           Revision and Midterm



Activity 3 will be announced in the class.



Your midterm exam will be held on Tuesday 25th  October, 2016.

9 &10

Software Quality Improvement

  • Process improvement.

o  ISO 9000.

o  Capability Maturity Model (CMM).

o  Capability Maturity Model Integration (CMMI).




Assignment2 Description

(Deadline 3rd December, 2016.)

11, 12 & 13

Software Quality Metrics and Measurement

  • Introduction to software metrics.

o  Metric.

o  Measure.

o  Measurement.

o  Indicator.

  • Software product quality metrics.

o  Source Lines of Code (SLOC).

o  Function based metrics (Function points).

o  Size oriented metrics (Fan-in and Fan-out).

o  Object oriented metrics.

·         Statistical software process improvement.

  • Metrics for software quality.


Quiz 3 will be announced in the class.


Quiz 4 will be held be announced in the class.


Activity 4 will be announced in the class.



Your project viva and presentations will be held in the week starting from the Monday 28th November, 2016


Final exam.


Your final exam will be held on Tuesday 13th December, 2016 from 8:00 am to 10:00 am.