The focus of this course is testing in adaptive and lean software development processes. The objective is to equip professional test engineers with an understanding of the organizational and technical principles of such processes, and how these principles can be supported by appropriate testing techniques and tools.
The purpose is to equip software engineers with an understanding of challenges of “scale” when testing — in terms of the size and complexity of both the software system and the organization within which the testing activities occur — and experience of specific testing techniques and tools that address them.
The aim of the course is to introduce the participants into methods and tools for verifying systems that need to react to external stimuli. The methods use system models with precise formal semantics and will span model-checking as well as deductive verification. A set of simple examples as well as real-world applications will be used throughout the course to illustrate the methods and their tool support. The objective of the course is to understand the underpinning theories of formal verification, and learn how to apply tool support in order to verify system models.
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 organization.
The course consists of two parts: For the regression test selection part, the purpose is to enable participants get an in-depth understanding of techniques for selecting test cases that should be executed following changes to the software under test. For the software fault prediction part, the purpose is to use software fault prediction models as a way to provide quality estimates using measurements from design and testing processes.
The course will further discuss methodology of building simple software fault prediction models and highlight its use.
This course provides an understanding of the fundamental problems in software testing, as well as solid foundation in the practical methods and tools for a systematic state-of-the-art approach to testing of software.