
The subject matter of this course concerns modern and practical techniques for software testing and reliability modeling, suitable for the working software engineer.
Software testing concerns the problem of analyzing and evaluating software products to reach some conclusion about their fitness for use. For safety critical, mission critical and enterprise critical systems development it is nowadays essential to have some form of software quality assurance measures in place within an IT project. Quality assurance measures may involve both managerial and technical procedures. However, the primary focus of this course will be on technical procedures to predict, discover and diagnose errors in software systems.
Choose semester and course offering
Choose semester and course offering to see information from the correct course syllabus and course offering.
Content and learning outcomes
Course contents
The course will cover the following topics:
- software testing concepts according to the V-model
- graphical requirements modeling, including use case modeling
- logical requirements modeling, including preconditions, postconditions and class invariants
- graph coverage models
- logic coverage models
- input space partitioning
- syntax based testing
- reliability models
- advanced topics such as automated and model based testing.
The theoretical subjects are supported by laboratory work to deepen the student's understanding of important concepts.
Intended learning outcomes
Having passed the course, the student shall be able to
- identify the basic activities needed for software testing, including requirements capture, test planning, test case generation, test case execution, fault diagnosis and fault correction
- construct requirements models for simple embedded, reactive and object-oriented systems
- construct a test suite for a simple requirements model
- assess the quality of a test suite according to a variety of coverage models.
Course Disposition
No information inserted
Literature and preparations
Specific prerequisites
Completed courses in programming, equivalent to DD1337/DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD100N/ID1018 and linear algebra equivalent to SF1624/SF1672.
Recommended prerequisites
Discrete mathematics corresponding to SF1630, SF1662, SF1679 or SF1688.
Equipment
No information inserted
Literature
No information inserted
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
A, B, C, D, E, FX, F
Examination
- LAB1 - Laboratory Work, 3,0 hp, betygsskala: P, F
- TEN1 - Examination, 4,5 hp, betygsskala: A, B, C, D, E, FX, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
Opportunity to complete the requirements via supplementary examination
No information inserted
Opportunity to raise an approved grade via renewed examination
No information inserted
Examiner
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
Course web
Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.
Course web DD2459Offered by
Main field of study
Computer Science and Engineering
Education cycle
Second cycle
Add-on studies
No information inserted
Contact
Karl Meinke, e-post: karlm@kth.se
Supplementary information
In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex