NWI-I00110
Testing Techniques
Course infoSchedule
Course moduleNWI-I00110
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Lecturer(s)
PreviousNext 3
Lecturer
L. van Arragon
Other course modules lecturer
Lecturer
G.J. van Cuyck
Other course modules lecturer
Lecturer
drs. H.C.W. Kuppens
Other course modules lecturer
Coordinator
dr. G.J. Tretmans
Other course modules lecturer
Examiner
dr. G.J. Tretmans
Other course modules lecturer
Academic year2022
Period
KW1-KW2  (05/09/2022 to 29/01/2023)
Starting block
KW1
Course mode
full-time
Remarks-
Registration using OSIRISYes
Course open to students from other facultiesYes
Pre-registrationNo
Waiting listNo
Placement procedureIn order of Study programme
ExplanationIn order of Study programme
Aims
After successful completion of the course, the participants:
  • have an overview of, and insight in the importance and the place of structured and systematic testing within the software development process;
  • can classify various testing techniques and can apply some well-known techniques for developing and executing tests;
  • can explain the principles of model-based testing;
  • know the ioco-theory for model-based testing;
  • have applied model-based testing tools to some systems;
  • are able to recognize situations in which a problem can be solved using automata learning techniques;
  • know how to apply some state-of-the-art learning tools for learning automata models of simple systems.
Content
Testing is part of almost any software development project, and systematic and effective testing is an important technique for quality assessment and control. Yet, testing is often an underexposed and underestimated part of software development. The course testing techniques gives insight in testing processes and and deals with a number of techniques, methods, and tools which can help in systematic and effective testing of software systems. Emphasis will be on model-based testing, both in theory and with tools. Moreover, the topic of automata learning will be discussed in theory and tools.

Topics:
  • Basic testing techniques (25%):  state of practice in testing
  • Model-based testing  (50%):  state of the art
  • Automata learning  (25%):  state of research
 
Instructional Modes
  • Lecture
  • Tutorial
  • Guest lecture
  • Self-study
  • Supervision of group assignments
Level
Master
Presumed foreknowledge
Students are assumed to have programming experience, and knowledge about formal (mathematical, logical) methods in software development, at bachelor level. The course testing techniques is, on the one hand, related to topics in programming, software engineering, and software quality, and, on the other hand, to more formal topics such as software verification and model checking.
Test information
The final grade for testing techniques is computed from:
  • an intermediate test (DIGI-CIRRUS), covering the topic basic testing techniques, with weight 15%;
  • a final written exam, covering the topics model-based testing and automata learning, with weight 45%;
  • four group assignments (2-4 students) and a presentation, covering practical work on the three topics, with weight 40%;
  • and the additional condition, that each of the individual grades (test, exam, each of the assignments, presentation) must be at least 5.0; if not, the final grade is insufficient.
Specifics
In case of overregistration, students for whom the course is mandatory in their programme have first access.
Required materials
Articles
Papers and articles will be made available via Brightspace.

Instructional modes
Course occurrence

Project

Tests
DIGI-CIRRUS - Midterm
Test weight0
Test typeDigital exam with CIRRUS
OpportunitiesBlock KW1, Block KW2

Remark
See detailed description under Test information

Exam
Test weight0
Test typeExam
OpportunitiesBlock KW2, Block KW3

Assignments and presentation
Test weight0
Test typeAssignment
OpportunitiesBlock KW2, Block KW3

Final grade
Test weight1
Test typeExam
OpportunitiesBlock KW2, Block KW3