Regression Test Selection and Prioritization

A.Y. 2019/2020
Lesson for
3
ECTS
16
Overall hours
Lesson period
January
Language
English
In this course, students will be able to learn and apply state-of-the-art techniques for performing regression test selection and prioritization. Regression testing is a critical but expensive activity that is undertaken during software maintenance and evolution to ensure that code modi cations do not introduce new faults into previously tested code. To reduce the cost of regression testing, testers may select a subset of the original test set for retesting; in this approach, only the modi cation-traversing tests are selected. Alternatively, test cases may be prioritized based on scheduling those test cases that maximize some objective such as the rate of fault detection.
This course will teach the fundamental program analysis concepts and objectives underlying test case selection and prioritization. Post-graduate students will be prepared for practical work in the software industry by exposing them to the latest approaches and tools. Students who are interested in cutting-edge research in software testing will also bene t from the course.
Key objec-tives and metrics will be introduced for assessing test case selection and prioritization such as test case reduction, safety and precision, fault detection effectiveness, and APFD (Average Percentage Faults De-tected).
Some sessions will involve the use of personal laptops to install and run regression test selection tools on sample programs. Some sessions will require reading papers published in major software engineering conferences or journals.
Undefined
Assessment methods
Giudizio di approvazione
Assessment result
superato/non superato