| | | | Course module | | NWI-I00110 | Category | | MA (Master) | Language of instruction | | English | Offered by | | Radboud University; Faculty of Science; Informatica en Informatiekunde; | Lecturer(s) | | | | Academic year | | 2017 | | Period | | KW1-KW2 | (04/09/2017 to 04/02/2018) |
| Starting block | | KW1 | |
| Course mode | | full-time | |
| Remarks | | - | Registration using OSIRIS | | Yes | Course open to students from other faculties | | Yes | Pre-registration | | No | Waiting list | | No | Placement procedure | | - |
| | | | | | 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 cycle;
- can apply some well-known techniques and tools for developing and executing tests;
- can explain the principles and theory of model-based testing;
- know how to apply model-based testing and model-based testing tools to simple 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.
|
| 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 deals with a number of techniques, methods, and tools which can help in systematic and effective testing of software systems. Established, 'state-of-practice' testing techniques are discussed, as well as new developments, such as model-based testing and model (automata) learning. Moreover, some guest lectures will give insight into the industrial practice of software testing. |
|
|
|
J. Tretmans, Model Based Testing with Labelled Transition Systems. In: R.M. Hierons, J.P. Bowen, M. Harman (eds.), Formal Methods and Testing. Lecture Notes in Computer Science 4949, pp. 1-38, Springer, 2008. http://dx.doi.org/10.1007/978-3-540-78917-8_1. B. Steffen, F. Howar, and M. Merten, Introduction to Active Automata Learning from a Practical Perspective. In: M. Bernardo and V. Issarny (eds.), Formal Methods for Eternal Networked Software Systems. Lecture Notes in Computer Science 6659, pp. 256-296, Springer, 2011. http://dx.doi.org/10.1007/978-3-642-21455-4_8.
Additional course material consisting of hand-outs, sheets, and recent papers from the literature, will be made available electronically via the course webpage during the course. |
|
• 32 hours lecture • 48 hours group project work without guidance • 4 hours student presentation • 16 hours problem session • 68 hours individual study period Extra information teaching methods: The course comprises 3 parts: basic testing techniques, model-based testing, and automata learning. Each part consists of regular lectures, exercises, and one or two homework assignments. These assignments are made in small groups (two or three students) and will be evaluated. Some guest lectures will be organized focusing on testing practices in the software industry. Participants are expected to be present during the lectures and to actively participate in discussions. In addition to the homework assignments, there will be a written exam.Participants are supposed to spend approximately 168 hours (=6ec) on this course: during 16 weeks they will need about 4 hours per week to attend and prepare classes (2 hours lectures, 2 hours reading and preparation). In addition they will need about 80 hours for the homework assignments, and 24 hours for exam preparation. |
|
|
Topics which will be discussed are: • kinds, aspects, phases, and processes of software testing; • white-box testing, statement-, decision-, condition-coverage; • black-box testing, equivalence partitioning, boundary value analysis, state-based testing, combinatorial testing; • model-based testing in general, and with transition systems, ioco theory • tools for model-based testing • learning algorithms for Mealy machines: Angluin L* |
The final grade for testing techniques is computed from the written exam (50%) and the homework assignments (50%). An additional condition for passing the course is that each of the individual grades (exam and each of the homework assignments) must be at least 4.5; if not, the final grade is at most 4.0. The homework assignments are done in small groups (two or three students). If the final score is 5.5 or below, students can participate in a re-examination or an additional assignment. |
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. |
| | | Required materialsBookJ. Tretmans, Model Based Testing with Labelled Transition Systems. |
|
|
Recommended materialsBookB. Steffen, F. Howar, and M. Merten, Introduction to Active Automata Learning from a Practical Perspective. |
| ArticlesIn: R.M. Hierons, J.P. Bowen, M. Harman (eds.), Formal Methods and Testing. Lecture Notes in Computer Science 4949, pp. 1-38, Springer, 2008. http://dx.doi.org/10.1007/978-3-540-78917-8_1. |
| ArticlesIn: M. Bernardo and V. Issarny (eds.), Formal Methods for Eternal Networked Software Systems. Lecture Notes in Computer Science 6659, pp. 256-296, Springer, 2011. http://dx.doi.org/10.1007/978-3-642-21455-4_8. |
|
|
Instructional modesCourse occurrence
| Lecture
| Presentation
| Project
| Tutorial
| Zelfstudie
|
| TestsTentamenTest weight | | 1 |
Opportunities | | Block KW2, Block KW4 |
|
|
| | |
| |
| |