CSE 7314/5314 (Fall 2018) Syllabus
Software Testing and Quality Assurance
Prof. Jeff Tian, CSE Dept., SMU, Dallas, TX 75275
Phone: (214)768-2861
E-mail: tian@lyle.smu.edu
Webpage: www.lyle.smu.edu/~tian/class/7314.18f
General Description
Software quality assurance (SQA or simply QA)
includes testing and various other activities aimed at
ensuring that appropriate functionality has been
implemented correctly and efficiently in the software system, product,
or service to satisfy the requirements, needs, and expectations
of its target customers and users.
We will devote slightly more than half of the class
time to various topics related to software testing,
with an emphasis on 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 implemented
internal components and structures;
- usage-based statistical testing,
with a focus on adequately testing operations or services commonly used
by target customers and users to ensure its 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 1) "flat" structures such as lists,
partitions and equivalent classes,
and 2) finite-state machines and related variations.
These models 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 product reliability.
Specific testing techniques to be covered include:
checklists, equivalent class/partition testing,
input domain boundary testing,
finite state machine testing,
control flow testing,
data dependency analysis and data flow testing,
basic operational profiles (or Musa OP)
and Markov chains (or Markov OP) for usage-based statistical testing,
fault injection and mutation testing,
as well as
specialized testing techniques for specific purposes
and/or applicable to different application domains,
such as Web testing, Cloud testing, etc.
Test activities, management, automation, and related issues,
such as testing sub-phases,
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 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, 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 formal specification, briefly),
fault tolerance and safety assurance.
A good understanding of each alternative's relative strength
and weakness 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 for quantifiable quality improvement,
measurement and feedback mechanisms,
quality models and measurements,
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 goals
effectively and efficiently.
Workload and Grading
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:
-
Plagiarism of any kind is strictly
prohibited by the SMU Student Honor Code.
-
If you need to make alternative arrangements for turning-in
material using Canvas 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.
-
The primary difference for graduate students (enrolled in 7314) and
undergraduate students (enrolled in 5314) is in the project,
as explained in the project assignment information.
There is also a difference in homework #1.
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.
-
Relevant SMU policies:
* 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/ALEC/DASS to
begin the process. Once registered, students should then schedule an
appointment with the professor as early in the semester as possible,
present a DASS Accommodation Letter, and 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.
(See University Policy No. 1.9.)
* 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.
(University Undergraduate Catalogue)
Prepared by Jeff Tian
(tian@lyle.smu.edu).
Posted: Aug. 21, 2018.
Last update: Aug. 21, 2018.