Syllabus: CPIS 357 (Software Quality and Testing)
Course Description :
The aim and objective of this course is to teach students the concepts and skills needed
for SQA and Testing. Software quality assurance (SQA or simply QA) is viewed as an
activity that runs through the entire development process. It encompasses activities and
related techniques to ensure the implementation of appropriate functionality that
satisfy the requirements/needs of its targeted client/users for the intended software
system, product, or service as the case may be, both correctly and efficiently.
General Course Objectives:
This course includes the study of the following broader areas:
1. Quality Assurance & Review Techniques,
2. Defect Prevention and Removal,
3. Testing Strategies,
4. Testing Conventional and Object Oriented Applications Techniques,
5. Acquaintance to Formal Modeling and Verification methods
Specific Course Objectives :
At the conclusion of this course (Theory & Lab.), students will be able to:
1. Understand general concepts about quality, quality assurance (QA), and
software quality engineering (SQE)
2. Choose appropriate testing strategies and develop test cases
3. Understand how to detect, classify, prevent and remove defects
4. Be able to understand “Z” formally.
5. Write The Code for Unit and domain testing using JUnit framework and
NetBeans as an editor.
6. Create control flow and data flow testing by using both control flow (graphs)
and data flow diagrams respectively and hence getting a clear insight
between control flow and data flow testing.
Detailed Course Schedule:
Week Topics Readings Lab. Work
Quality Management Chapter 14 Case Assignment #. 1
Lecture 14 Slides
What is Software Quality Describe Software Quality
1 Quality Dimensions Assurance Methods
The SQ Dilemma
Achieving Software Quality Source:
Internet
Review Techniques Chapter 15 Lab. Assignment #. 1
Lecture 15 Slides
Software Defects Perform Unit Testing using
Defect amplification and removal JUnit of Java in NetBeans
Review Metrics and their use
2 Source:
Informal Reviews
Formal technical reviews
Review reporting and record JAVA
keeping NetBeans
Software Quality Assurance Chapter 16
Lecture 16 Slides
Elements of SQA
SQA Task, Goals and Metrics
Formal Approaches to SQA
3
Statistical SQA
Software Reliability
The ISO 9000 Quality Standards
The SQA Plan
4 Mid Term - 01 Examination
Software Testing Strategies Chapter 17 Lab. Assignment #. 2
Lecture 17 Slides What are some major
The Strategic Approach for ST computer system failures
Verification and Validation caused by software bugs?
5
Organizing for Software Testing Give 3 cases and briefly
Criteria for Completing of Testing explain for each case.
Strategic Issues Source:
Internet
Testing Strategies for Conventional Soft- Chapter 17 Case Assignment #. 2
wares Lecture 17 Slides
Write a simple java code
Unit Testing (retrieve value from caller
Integration Testing class and return the value
Strategies for OOS to the caller class again
6 Testing in OO context Source:
Integration Testing in OO context Internet
Strategies for Web Apps.
Validation Testing
Alpha and Beta Testing
System Testing Chapter 17 Lab. Assignment #. 3
Lecture 17 Slides Create Unit Test for above
Recovery Testing code (class) by using JUnit
Security Testing framework
7 Stress Testing
Performance Testing
Deployment Testing
The Art of Debugging
8 Mid Term - 02 Examination
Chapter 18
Testing Conventional Applications Lecture 18 Slides
By using Net Bean, rewrite
White box testing the source code below
Basis Path Testing and execute JUnit to
9 create unit test for Class
Central Structure Testing
Black box Testing Account.
Source:
JAVA
NetBeans
Chapter 18 Case Study: Class Grade
Lecture 19 Slides Book
Model Based Testing
Testing Client Server Architectures
Class Grade Book which is
Testing for Real Time Systems
10 used a two-dimensional
Patterns for Software Testing
array to store the grades
of a number of students
on multiple exams. In this
case study, we use a then-
by-three array containing
ten students' grades on
three exams.
Testing Object Oriented Applications Chapter 19
Lecture 20 Slides
Consider the given grade
Testing OOA and OOD Models
book class, and create unit
Object Oriented Testing Strategies
test by using control flow
Testing methods applicable at
11 testing approach. Create
Classes
Test Cases to Satisfy Path
Interclass Test case Design
Coverage for the given
Test Derived from Behavior
code.
Models
Testing Web Applications Chapter 20
Lecture 20 Slides
Dimensions of Quality
Content Testing
User Interface Testing
Example: Using Control-
12 Component Level Testing
flow testing to Test
Navigation Testing
Program COUNT
Configuration Testing
Security Testing
Performance Testing
Chapter 21 Lab. Activity
Lecture 21 Slides The passing score for any
course at XYZ department
is 60/100. If a student
Formal Modeling and Verification scores less than 60 for a
course, the student gets an
- Cleanroom software engineering ‘F’ grade in the course.
The Cleanroom Process Model
The Cleanroom Strategy What variables could be
Design Refinement & Verification involved in analysis of this
13 Certification & Certification group of facts? What
Models variable do we know
Formal methods enough about to perform
Formal Concepts equivalence class analysis
Sets and Constructive and then a boundary
Specification value analysis? Develop a
series of tests by
performing equivalence
class analysis and
boundary value analysis
on this variable. Assume
integer values.
Final Submissions:
Text book
Assignments
14 Final Exam Lecture Slides
Coursework
Assignments
Lab Activities
Student Responsibilities:
Students have a responsibility to attend classes and the Lab. sessions regularly. A lack of
attention to regular attendance deprives students of interaction and exchange of ideas and
knowledge. As many classes involve teamwork, students have an increased responsibility to
attend regularly in support of team learning. The students also are responsible for knowing the
contents of the course syllabus and reading them carefully to avoid any trouble.
Grading Policy:
There will be NO bonus point for any exams or project. No additional work will be given to
raise grades. The marks given are final.
Collaboration:
The students are permitted to study in groups to prepare for examinations so long as the
resulting exam demonstrates their individual mastery of the concepts and skills tested.
Group work:
The students are permitted to work in groups only for designated ‘group projects,’ which they
are to submit as a group. All other assignments are to be prepared individually.
Faculty Information:
Course Instructor : Dr. Syed Faizan Haider - FCIT (KAU)
E-mail Address : [email protected]
Contact Number : +966-69520000 Ext. 67508
Office Days / Hrs : Sunday - Tuesday (11:00am - 1:00pm)
Office Location : Room #. 137,Building #. 31
Course Schedule:
Lecture Days & Timings : Sunday, Tuesday and Thursday (1:00 - 1:50 pm)
Class Location : LAB#. 13,Building #. 31
Grading & Evaluation :
1. Final Exam - 30%
2. Mid-1 Exam - 15%
3. Mid-2 Exam - 15%
4. Quizzes, Assignments - 10%
5. Lab. Project/Activities – (5+ 25)%
Text book :
Software Engineering - A Practitioner's Approach ( 7th edition ) by Roger S.
Pressman. ISBN 13. 9780073375977.
Reference book :
Software Testing and Quality Assurance : Theory and Practice by Kshirasagar Naik,
Priyadarshi
Coursework / Lab. Activities Assessment Scheme
Lab. Activities - CPIS357
Laboratory activities are a substantial piece of work requiring methodology and rules to be
followed over an extended period of time, which is organized, evaluated and presented as a
hardcopy of assignments or report. Lab. Instructor choose, in conjunction with their Students, a
well-defined user-driven problem which enables them to demonstrate their skills in Software
Testing, design and software quality assurance, including use of tools both for traditional and
OOAD, documentation and evaluation. Problems to be selected, that allows the students to
demonstrate their skills.
The Lab. Require the students to produce well-defined solutions or codes to the problems,
involving a third-party user, and to generate a solution. This is done using software tools chosen
by the instructor and may include an appropriate applications package or other software. Work
on the lab activities begin in parallel with work on theoretical activities in lectures.
Lab. Activities - Scheme of Assessment
Supported by evidence of the use of Software Quality Assurance tools, hardcopies of work,
including codes, graphs and tables will be graded.
Final Project Report
A report presenting activities (Posters & Charts) / Coursework as follows.
Content
Organize the report into sections as given in the Lab Manual
Word process the report
Documentation of each stage of Test Cases Development
Learning outcomes
Candidates should be able to:
(a) Organize and develop reports for test cases
(b) Use word-processing features where appropriate including the use of
a spellchecker
(c) Include the evidence of diagrams
(d) Include codes, tables, and cases
3. Guidance on marking the Activities / Coursework:
The Lab. activities are assessed as follows:
S.# Project / Coursework Items Marks
1. Quality of Final Test Cases Report 5
2. Use of the software tools for testing 5
3. Activities, codes, and test cases submissions 20
Total 30