For the final exam the students should:
- (Not included) Know the Extreme Programming process description based on a diagram presented in class, advantages and weaknesses of the process
- Know the RELAY fault-based model
- Know the terminology of symbolic evaluation
- Know the three variants of symbolic evaluation presented in class: path-dependent, dynamic and global; their advantages and weaknesses
- Be able to apply path-dependent symbolic evaluation
- (Not included) Know the verification by proof approach, its terminology and be able to apply it
- Know the difficulties the Object-Oriented approach introduces to testing itemized as was discussed in class (how inheritance, encapsulation, and polymorphism complicate testing)
- Know how a statechart diagram of a class can help create testcases (sequences of function invocations) and identify expected states
- Know the problem of regression testing
- Know the basic steps of regression testing
- Know the terminology introduced by Rothermel and Harrold to evaluate regression methods (fault revealing, modification revealing, modification traversing), be able to describe using a diagram
- Know the four major approaches to regression testing problem