The course will include the following topics:
software testing concepts according to the V-model different schools of testing white-box testing graph coverage models logic coverage models data flow coverage models black-box testing random testing pairwise testing boundary testing model-based testing statechart models specification-based testing graphical requirements modeling, including use-case modeling logical requirements modeling, including preconditions, postconditions and class invariants, JML, OCL temporal logic requirements modeling, including safety and liveness properties automated test case generation using model checkers advanced topics such as mutation testing. The theoretical subjects are supported by laboratories that are intended to deepen student understanding of important concepts.