The purpose of this course is to show how fundamental testing practices are applied in the context of secure software development. The student will learn to integrate automated software testing with different approaches to verify software security, leveraging theories from continuous quality assurance in software development, as well as security best practices.
The course is adapted to give a solid introduction to non-testing experts with an interest in software security, and addresses both how professionals (developers, managers, decision-makers) can incorporate security into the quality assurance process of their products/service.
In contrast to learning how to do manual testing, in this course you will learn how to generate tests automatically in the sense that test creation satisfying a given test goal or given requirement is performed automatically.
This course provides an understanding of automating software testing using program analysis with the goal of intelligently and algorithmically creating tests. The course covers search-based test generation, combinatorial and random testing while highlighting the challenges associated with the use of automatic test generation.
This course deals with model-based testing, a class of technologies shown to be effective and efficient in assessing the quality and correctness of large software systems. Throughout the course the participants will learn how to design and use model-based testing tools, how to create realistic models and how to use these models to automate the testing process in their organisation.
The aim of this course is to provide participants with the principles behind model-driven development of software systems and the application of such a methodology in practice. Modelling is an effective solution to reduce problem complexity and, as a consequence, to enhance time-to-market and properties of the final product.
Modern web applications can often be described in terms of cooperation and sharing, both on the level of the users of the application and on the level of the application and the service providers. This course covers the most prevalent security challenges of web applications, from a theoretical and practical perspective.
The aim of this course is to give students insight about certification and about what it means to certify/self-assess safety- critical systems with focus on software system and to create a safety case, including a multi-concern perspective when needed and reuse opportunities, when appropriate.