A sample undergraduate course supported by Foundations of Software Testing. |
Foundations of Software Testing Fundamental Algorithms and Techniques |
|
Aditya P. Mathur Publisher: Pearson Education. 2008 |
||
![]() |
||
![]() |
||
![]() |
||
home |
||
Software Testing: An undergraduate course
An introductory one semester course. 3 credit hours. Aimed at undergraduate seniors. Firm grounding in programming required. Background in software engineering and discrete mathematics recommended. |
||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Objectives
|
||||||||||||||||||||||||||||||||||||||||||
Syllabus:
Preliminaries:Goals of software testing; test process, testing and development, test case, test execution, test harness, testing and debugging; test adequacy, control flow graph, errors, faults and failures, types of testing. Test generation from requirements: Equivalence partitioning, boundary value analysis, category partitioning; fault model for predicates, BOR, BRO, and BRE methods; limitations of test generation from requirements. Test adequacy assessment: Adequacy criteria, control flow based criteria, data flow based criteria, mutation based criteria; adequacy as a stopping criterion, adequacy as a tool for test enhancement. Miscellanous topics: (Select as time permits) GUI testing, security testing, random testing, combinatorial testing. |
||||||||||||||||||||||||||||||||||||||||||
Suggested schedule based on Foundations of Software Testing
Assumption: 1 Lecture=45 minutes. 1 Semester=16 weeks. 3 lectures/week. Alternative: This course could also be run as 2 lecture plus one 2-hour laboratory. Laboratory exercises are designed to familiarize students with existing testing tools and enable them to practice the use of techniques covered during lectures. |
||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||
Project
It is recommended that the course allows students to work in small teams. Here are some suggestions on how the project could be organized. [Assumed class size<=40.]
Each team makes one presentation every other week starting in week 3. The earlier presentations are short (e.g. 10 minutes) and the final presentation is about 20 minutes. |