Course syllabus - Regression Test Selection and Software Fault Prediction 2.5 credits
Regressionstestning och felprediktering
|Valid from:||Autumn semester16 Autumn semester17|
|Level of education:||Second cycle|
|Subject:||Informatics/Computer and Systems Scie...|
|Main Field(s) of Study:||Computer Science,|
|In-Depth Level:||A1N (Second cycle, has only first-cycle course/s as entry requirements),|
The focus of this course is on two distinct activities in software testing that impacts test effectiveness and efficiency: regression test selection (RTS) and software fault prediction (SFP). Regression testing is done to ensure that recent changes to software (e.g., as a result of bug fixes, implementation of new functionality and change requests) do not impact its quality. Regression test selection (RTS) deals with the mechanisms used to select a subset of test cases to test changed parts of the software. RTS, although distinct, shares some of its purpose with test suite minimization and test case prioritization approaches. Software fault prediction (SFP), on the other hand, is a way to provide quality estimates using measurements from design and testing processes. For example, SFP helps a testing team focus their testing efforts on faultprone files and components in a coming release of a project. The overall purpose of this course is, therefore, to provide participants with an understanding of variety of mechanisms for RTS and SFP and to appreciate its usefulness in improving test efficiency and effectiveness.
After completing the course, the student shall be able to:
1. differentiate between mechanisms for regression test selection (RTS) techniques
2. argue in favor of or against certain RTS techniques based on variery of criteria
3. be able to apply RTS techniques in industrial projects
4. comprehend main ideas for using software fault prediction (SFP) techniques
5. reflect on possible difficulties in using SFP techniques in practice
The course covers the following topics:
- Introduction to regression testing and regression test selection (RTS)
- Techniques for RTS
- Basis for RTS
- RTS for different applications
- Introduction to software fault prediction (SFP) and its benefits
- Classes of predictor variables to use for SFP
- Techniques for SFP
- SFP methodology
Specific entry requirements
120 credits, of which 80 credits in engineering or informatics, including at least 30 credits in programming or software development.
In addition, at least 18 months of documented work experience in software development.
In addition, Swedish B/Swedish 3 and English A/English 6 are required. For courses given entirely in English exemption is made from the requirement in Swedish. B/Swedish 3.
Written assignment (INL1), 0,5 hp, examines the learning objective 1, marks Fail (U) or Pass (G)
Written assignment (INL2), 1 hp, examines the learning objectives 2 and 3, marks Fail (U) or Pass (G)
Written assignment (INL3), 1 hp, examines the learning objectives 4 and 5, marks Fail (U) or Pass (G)
The course overlaps with 2 credits towards Software Verification and Validation.
Course literature is not yet public.