CS 7314 (Spring 2021) Syllabus
Software Testing and Quality Assurance
Prof. Jeff Tian, CS Dept., SMU, Dallas, TX 75275
Phone: (214)768-2861
E-mail: tian@smu.edu
Webpage: lyle.smu.edu/~tian/class/7314.21s
General Description
Software quality assurance (SQA or simply QA)
includes testing and various other activities aimed at
ensuring that appropriate functionalities have been
implemented correctly and efficiently in the software systems
or software-related products or services
to satisfy the requirements, needs and wants, and expectations
of their target customers and users.
We will devote slightly more than half of the class
time to topics related to software testing,
or executing the software in order to observe its behavior to ensure
that it conforms to our expectations or
to identify behavior deviations and possible
underlying problems for correction.
We will emphasis formal/systematic testing techniques
and their applications, including:
- black-box or functional testing,
with a focus on covering (or thoroughly testing) external functions
or services required or expected by target customers and users;
- clear/transparent/white-box or structural testing;
with a focus on covering implementation details,
including internal components and structures;
- usage-based statistical testing (UBST),
with a focus on adequately testing operations or services
important to and commonly used by target customers and users
to ensure overall product or system reliability
(a quality view most meaningful to customers and users)
after product delivery or system deployment.
These testing techniques are organized by their underlying models,
including:
-
"Flat" structures such as lists,
partitions and equivalent classes,
including basic partition testing (PT),
input domain boundary testing (BT),
and Musa's operational profiles (Musa OP) or usage model for UBST;
and
-
Finite-state machines (FSM) and related variations,
including basic FSM testing,
control flow testing (CFT),
data dependency analysis and data flow testing (DFT),
and Markov operational profiles (Markov OP) for UBST.
These models and techniques will help us prepare, perform,
and perfect (manage/improve) testing to achieve functional
or structural coverage or to mimic realistic usage scenarios
in a systematic way to ensure overall product/system
quality and reliability.
Specific testing techniques to be covered:
Besides the ones mentioned above
(PT, BT, Musa-OP/UBST, FSM, CFT, DFT, Markov-OP/UBST),
we will also briefly cover
various forms of informal or ad-hoc testing,
checklists, fault injection and mutation testing,
as well as
specialized testing techniques for specific purposes
and/or applicable to different application domains,
such as usability testing, Web testing,
Cloud testing, embedded system testing,
performance and stress testing, etc.
Test activities, management, automation, and related issues,
such as team organization,
testing process,
people's roles and responsibilities,
test automation tools,
test integration, etc.,
will be briefly discussed.
Applicability and effectiveness of specific testing techniques
in different sub-phases and for different purposes will
also be briefly discussed.
The rest of the class time,
beyond various testing-related topics mentioned above,
will be devoted to the following topics:
-
General concepts about quality,
quality assurance (QA),
and software quality engineering (SQE).
Concepts related to quality will be covered,
including reliability, safety, security,
usability, dependability, maintainability, availability, etc.
QA activities and SQE process will also be discussed,
in the context of overall software development and maintenance processes.
-
Other QA alternatives beyond testing,
including, activities and related techniques
for defect prevention and process improvement,
inspection/review/walkthrough,
formal verification (and its prerequisite, formal specification, briefly),
fault tolerance and safety assurance.
A good understanding of each alternative's relative strengths
and weaknesses will help us construct and carry out
a comprehensive QA strategy that more often than not will
include and integrate several such alternatives.
-
Quality assessment and improvement, including,
overall strategy and process for quantifiable quality improvement,
measurement and feedback mechanisms/loops,
quality models and measurements needed,
defect classification (including ODC or orthogonal defect classification)
and analysis,
risk identification and analysis,
and software reliability engineering.
These activities will help us monitor, assess, improve
the overall SQE process to achieve our quality and reliability goals
effectively and efficiently.
Workload, Grading, and Notices
The course grade each student receives will reflect the weighted
average of exams, homework assignments, and course project.
The approximate weight assignment is as follows:
Homework and participation
Midterm Exam
Final Exam
Project
|
15%
25%
25%
35%
|
Notices and relevant SMU policies:
-
Plagiarism of any kind is strictly
prohibited by the SMU Student Honor Code.
-
If you need to make alternative arrangements for turning-in
material or taking exams,
you must contact the instructor ahead of time,
unless it is truly an emergency.
(Otherwise you'll receive 0 for the specific item.)
-
Disability Accommodations:
Students needing academic accommodations for a disability must first
register with Disability Accommodations & Success Strategies (DASS).
Students can call 214-768-1470 or visit
http://www.smu.edu/Provost/SASP/DASS to begin the process.
Once approved and registered, students will submit a DASS
Accommodation Letter to faculty through the electronic portal
DASS Link and then communicate directly with each instructor
to make appropriate arrangements.
Please note that accommodations are not retroactive and require
advance notice to implement.
-
Religious Observance:
Religiously observant students wishing to be absent on holidays that
require missing class should notify their professors in writing
at the beginning of the semester, and should discuss with them,
in advance, acceptable ways of making up any work missed
because of the absence.
(https://www.smu.edu/StudentAffairs/Chaplain/ReligiousHolidays).
-
Excused Absences for University Extracurricular Activities:
Students participating in an officially sanctioned,
scheduled University extracurricular activity should be given
the opportunity to make up class assignments or other graded
assignments missed as a result of their participation.
It is the responsibility of the student to make arrangements
with the instructor prior to any missed scheduled examination
or other missed assignment for making up the work.
(See 2020-2021 SMU Undergraduate Catalog, under
"Enrollment and Academic Records/Excused Absences.")
Textbook and Other Information
-
Jeff Tian,
"Software Quality Engineering:
Testing, Quality Assurance, and Quantifiable Improvement"
John Wiley and Sons, Inc., and IEEE Computer Society Press, 2005.
ISBN: 0-471-71345-7
Available at SMU bookstore,
official Wiley website for the book,
or your favorite local/online booksellers.
-
List of topics and tentative schedule.
-
Other references, reading material,
and selected class material will be listed or posted online
or in Canvas.
Prepared by Jeff Tian
(tian@smu.edu).
Posted: Jan. 5, 2021.
Last update: Jan. 5, 2021.