Software Testing I
Latest update: December 5, 2005 An introductory one semester course. 3 credit hours. Aimed at undergraduate seniors. Prerequisites: Required: Firm grounding in programming, data structures, discrete mathematics; Recommended: Software Engineering, Compilers. |
|||||||||||||||||||||||||||||||||||||||||||||||||||
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 (Draft V2.0)
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. Laboraory 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 allow 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. |
|||||||||||||||||||||||||||||||||||||||||||||||||||