INF4290 – Software verification and validation
Schedule, syllabus and examination date
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.
Admission
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.
Prerequisites
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).
Teaching
Two hours of lectures per week.
Examination
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.
Other
It is strongly recommended to attend the first lecture since it will be given important information.