Practical Model-based Software Testing
1-2 short or long theses
Practical Model-based Software Testing
1-2 short or long theses
Supervisor: Lionel Briand
Background:
The validation of software systems is typically performed by testing them following systematic strategies, thus maximizing chances of uncovering faults. This is particularly important for safety critical systems. It is of the highest practical importance that testing be automated to the fullest extent possible and be cost-effective in uncovering faults. One strategy is to use models of the system design (e.g., statecharts, Message Sequence Charts) to derive, in a systematic manner, test cases that targets specific types of faults. This has a number of advantages: (1) It help test in a systematic manner the conformance of the design and the implementation of a system, (2) It provides a basis for automating many of the testing tasks. A great deal of existing techniques and the scientific literature focuses on analyzing models in the Unified Modeling Language (UML), which is a de facto standard and will also be the focus of this thesis work.
What you will do:
Support researchers on
- analyzing the literature on Model-based testing,
- designing and implementing algorithms to analyze UML Models to derive test requirements and test cases,
- evaluating the effectiveness of these algorithms and test strategies on actual case studies, and
- implementing these algorithms in user friendly tools, e.g., plug-ins of well known UML modeling tools.
What you will learn:
You will gain in-depth knowledge of software testing issues and techniques (which are in high demand in industry) and UML Modeling, which is increasingly applied in the design of many systems.
