Course outline 2017
Course outline 2017
Course Description:
This course is intended to provide in-depth coverage of software testing. The goal of the course is
to provide students with the skill to select and apply a testing strategy and testing techniques that
are appropriate to a particular software system or component. In addition, the student will become
a capable user of test tools; will be able to assess the effectiveness of their testing activity; and will
be able provide evidence to justify their evaluation. The course will be supported by two practical
exercises involving the development of appropriate tests and the application of a range of testing
tools.
1
Learning Outcomes
At the end of this course the students will be able to:
Analyze requirements to determine appropriate testing strategies.
Design and implement comprehensive test plans
Instrument code appropriately for a chosen test technique
Apply a wide variety of testing techniques in an effective and efficient manner
Compute test coverage and yield according to a variety of criteria
Use statistical techniques to evaluate the defect density and the likelihood of faults.
Evaluate the limitations of a given testing process and provide a succinct summary of those
limitations
Conduct reviews and inspections
Course Contents
Weeks Lecture Topics Assessment
1 Chapter 1: SQA Concepts
Basic notions:
Quality Assurance,
Test 1
Detection vs. Prevention,
Verification & Validation,
testing
2&3 Chapter 2: What is Software testing?
Basics of Software Testing
Software Testing Process
4 Chapter 3: Functional (Black Box) Testing
Assignment + Tes
t2
What is Functional Testing?
Functional Testing Approaches
5&6 Chapter 4: Structural (White Box) Testing
What is Structural Testing?
Final exam
Control flow Testing
project +
Data Flow Testing
7&8 Chapter 5: Static Testing
Informal reviews
Walk-through
Technical review
Management review
Inspection
Audit
9 Chapter 6: Levels and Types of Testing:
Unit testing
Integration testing
2
System Testing
Regression Testing:
Acceptance testing (Alpha, beta)
10&11 Chapter 7: Test Tools and Automation
Testing Tool Acquisition
Testing Tool Introduction and Deployment
Classification of Testing Tools
12&13 Chapter 8: Test Process management and Improvement
Software Testing Process (revision)
Test Management
Test Estimation
14&15 Chapter 9: Software Quality Assurance
Software Quality Fundamentals
Software Quality Management Processes
Practical Considerations of Software Quality
Assessment Methods
The assessment methods for the course are
Assignments (10%)
Mid Examination (25%)
Project (25%)
Final examination (40%)
3
References
Anne Mette Jonassen Hass (2008), Guide to Advanced Software Testing, artech house,
INC.
Ilene Burnstein(2003), Practical software testing : a process-oriented approach, Springer-
Verlag New York, Inc.
Lee Copeland (2004), A practitioner’s Guide to Software Test Design, ARTECH HOUSE,
INC.
Paul Ammann and Jeff Offutt (2008), Introduction to Software Testing,Cambridge
University Press
Glenford J. Myers, et al(2004), The Art of Software Testing ,by John Wiley & Sons Inc,
William E. Perry (2006). Effective Methods for Software Testing, 3rd Edition, Wiley
Publishing
Mauro Pezzand Michal Young (2008), Software Testing and Analysis: Process, Principles
and Techniques, John Wiley & Sons.
Gerald D. Everett, Raymond McLeod (2007), Software testing: testing across the entire
software development life cycle, John Wiley & Sons
Marnie L. Hutcheson (2003), Software Testing Fundamentals: Methods and Metrics, John
Wiley & Sons
Elfriede Dustin (1999), Jeff Rashka, John Paul. Automated software testing: introduction,
management, and performance, Addison-Wesley
Ratzmann and Young. (2003). Software Testing and Internationalization. Salk Lake City:
Galileo Press