This course is discontinued

INF4290 – Software verification and validation

Schedule, syllabus and examination date

Choose semester

Course content

The validation and verification of software systems is a major issue in the IT industry. The objective of this course is to train future computer scientists and engineers in the fundamental concepts on which state-of-the-art software testing techniques are based. In addition, other important aspects related to software quality are addressed, though in a more superficial manner: quality assurance, safety, fault tolerance, reliability assessment. Though the orientation of the course is practical in nature, the goal is to focus on fundamental and rigorous principles that the students can benefit from for the many years to come, regardless of the evolution of technology.

The course consists of general software testing principles; White-box testing based on code analysis; Black-box, specification-based testing; Testing object-oriented programs; Inspections and reviews; Safety analysis; Statistical testing and reliability analysis; Fault tolerance; Defensive programming.

Learning outcome

After having completed this course, the students will be able to apply main stream testing techniques, understand their main strengths and weaknesses, and determine when they are appropriate. In addition, the students will have acquired basic knowledge of concepts related to safety and reliability analyses, fault tolerance, and defensive programming.


Students who are admitted to study programmes at UiO must each semester register which courses and exams they wish to sign up for in Studentweb.

If you are not already enrolled as a student at UiO, please see our information about admission requirements and procedures.


Recommended previous knowledge

General software engineering essentials and basic statistics. Students should be familiar with at least one programming language, and preferably an object-oriented language such as C++ or Java.

INF1000 – Introduction to object-oriented programming (continued), INF1010 – Object oriented programming (continued), INF1050 – Systems Development (continued) and INF2100 – Programming project (continued).


Two hours of lectures per week.


A graded mark will be awarded based on a student project. General information about the examination.

Grading scale

Grades are awarded on a scale from A to F, where A is the best grade and F is a fail. Read more about the grading system.

Resit an examination

This subject does not offer new examination in the beginning of the subsequent term for candidates who withdraw during an ordinary examination or fail an ordinary examination. For general information about new examination, see /studier/admin/eksamen/sykdom-utsatt/mn/index.html and /english/studies/admin/examinations/new-exam/index.html

Withdrawal from an examination

It is possible to take the exam up to 3 times. If you withdraw from the exam after the deadline or during the exam, this will be counted as an examination attempt.


It is strongly recommended to attend the first lecture since it will be given important information.

Facts about this course






Spring 2011

Spring 2010

The course will not be held in 2012.


Every spring

Teaching language