bild
Skolan för
datavetenskap
och kommunikation
KTH / CSC / Kurser / DD2459 / sofrel12

Software Reliability, sofrel12

This page is under regular maintenance. Please bookmark it and check regularly for changes.



Overview

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.

Performance on the course for individuals will be assessed by the grade awarded for lab work and a take-home examination. Successfully completed lab work gives a total of 3 points. The examination gives 4.5 points. The total number of points given by the course is 7.5 points.



Learning Outcomes

After 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 different kinds of systems, including procedural, embedded and object-oriented systems,
  • construct a test suite from a simple test requirement model,
  • construct a state transition model for model-based testing,
  • automatically generate test cases using a test-case generation (TCG) tool,
  • assess the quality of a test suite according to a variety of coverage models.


Course main content

The course will include the following topics:
  • software testing concepts according to the V-model
  • different schools of testing
  • white-box testing
  • graph coverage models
  • logic coverage models
  • data flow coverage models
  • black-box testing
  • random testing
  • pairwise testing
  • boundary testing
  • model-based testing
  • statechart models
  • specification-based testing
  • graphical requirements modeling, including use-case modeling
  • logical requirements modeling, including preconditions, postconditions and class invariants, JML, OCL
  • temporal logic requirements modeling, including safety and liveness properties
  • automated test case generation using model checkers
  • advanced topics such as mutation testing. The theoretical subjects are supported by laboratories that are intended to deepen student understanding of important concepts.


Latest News

  • 2012-04-17: I have returned the exam papers to studentexpeditionen (level 2, CSC building) and the grades are in Rapp. Model answers will be placed below. Some students have not yet finished all labs. You must finish all labs to pass the course and get credit in Ladok.
  • 2012-03-14: The examination for this course will be placed on this web page this afternoon. You will be able to download it here
  • 2012-02-21: The examination for this course has been scheduled for Wednesday 14th March. It will be an open-book take-home exam that you can download from this web page, and sit at home. You will have 36 hours to work on the exam. Further instructions will be given later.
  • 2012-02-02: I have put a revised version of lab 2 on this web page with some corrections and clarifications. Please make sure you use this new version.
  • 2012-01-26: I have now put all lecture slides in .pptx and .pdf formats on this page. Lab 2 has been added.
  • 2012-01-26: I have put a new copy of Lab 1 on this web page, which corrects some typo errors in the original.
  • 2011-09-29: The course will begin in January 2012 for the first time.


Exams

Here are past and current exam papers:
ExamModel Answers
March 14 2012 examMarch 14 2012 model answers



Registration

All students must ensure that their names are registered within the rapp system to ensure they receive a grade in LADOK. If your name has not been entered, please contact your study advisor. I cannot enter names into rapp for you.


Course Evaluation

During the last week of the course a course evaluation form will be distributed. If you miss this class you can download the course evaluation form , and return it (filled in) to my mail tray (Karl Meinke) on level 4 at any time.
Exam
2012 course evaluation results



Course Literature

Course Book

  • P. Amman and J. Offutt, Introduction to Software Testing, Cambridge University Press, 2008.

Additional literature

You may like to do further background reading, during the course or at a later date. The following texts can be recommended:
  • G. Fraser et al., Testing with model checkers: a Survey, 2007.
  • Model-based testing: M. Utting and B. Legeard, Practical Model-Based Testing: a Tools Approach, Morgan Kaufmann, 2007.
  • Context-driven school of testing: C. Kaner, J. Bach, B. Pettichord, Lessons Learned in Software Testing, a Context-Driven Approach, Wiley, 2001.
  • Quality school of testing: E. Kit, Software Testing in the Real World, Addison Wesley, 1995.
  • Standards school of testing: W. Hetzel, The Complete Guide to Software Testing, Wiley, 1993.
  • Agile school of testing: L. Crispin and J. Gregory, Agile Testing: A Practical Guide for Testers and Agile Teams, Addison Wesley, 2009.


Timetable

The course DD2459 runs during period 3 of 2012. The exact timetable can be found using KTH TimeEdit using the course code DD2459.

Practical Laboratory Work

To pass the course you must complete and submit *all* lab assignments.
LabContents Submission Deadline
Lab 1,   Exercise sheet 1 White-box testing. 2012-01-31
Lab 2,   Exercise sheet 2 Black-box and requirements-based testing. 2012-02-15
Lab 3,   (a) Exercise sheet 3 (b) instructions.pdf (c) bitshift.smv (c) carcontroller.smv (d) examples.zip 5 documents! Model-based and automated testing. 2012-02-28


Lecture Notes

LectureContents
Lecture 1,   .pptx file .pdf file Introduction to course
Seminar 1,   .pptx file .pdf file Schools of testing
Lecture 2,    .pptx file .pdf file White-box testing testing
Lecture 3,    .pptx file .pdf file Black-box testing
Lecture 4,     .pptx file .pdf file Requirements-based testing
Lecture 5,    .pptx file .pdf file Model-based testing
Lecture 6,    .pptx file .pdf file Automated test-case generation
Lecture 7,   .pptx file .pdf file Advanced topics in testing



Copyright © Sidansvarig: Karl Meinke <karlm@nada.kth.se>
Uppdaterad 2013-01-07