Module


General information
Testen von Software
Software Testing
TSW
Prof. Dr. Lüssem, Jens (jens.luessem@fh-kiel.de)
Dipl.-Inform. Hinkelmann, Kai (kai.hinkelmann@fh-kiel.de)
Prof. Dr. Lüssem, Jens (jens.luessem@fh-kiel.de)
Oenings, Hendrik (hendrik.oenings@fh-kiel.de)
M.Sc. Petersen, Eike (eike.petersen@fh-kiel.de)
Sommersemester 2023
1 Semester
In der Regel im Sommersemester
Deutsch
Curricular relevance (according to examination regulations)
Study Subject Study Specialization Study Focus Module type Semester
B.Eng. - E - Elektrotechnik Kommunikationstechnik und Embedded Systems Wahlmodul
B.Sc. - INF - Informatik Pflichtmodul
B.Eng. - Wing - Wirtschaftsingenieurwesen - Elektrotechnik Kommunikationstechnik Wahlmodul
B.Sc. - INI - Informationstechnologie Angewandte Informatik Wahlmodul
B.Eng. - Ming - Medieningenieur/-in Pflichtmodul
B.Eng. - Wing - Wirtschaftsingenieurwesen - Elektrotechnik Digitale Wirtschaft Wahlmodul
B.Eng. - Me - Mechatronik Wahlmodul
B.Eng. - E - Elektrotechnik Technische Informatik Wahlmodul

Qualification outcome
Areas of Competence: Knowledge and Understanding; Use, application and generation of knowledge; Communication and cooperation; Scientific self-understanding / professionalism.
Fachkompetenz:
Die Studierenden kennen die Prozesse der Qualitätssicherung von Software. Sie kennen die unterschiedlichen Testklassen, -Techniken und -Strategien. Sie kennen die wichtigsten Tools und deren Bedeutung in einem typischen Softwaretestprozess (Versionsmanagement, Continous Integration Server, Test Frameworks, Code Metriken, …).
Methodenkompetenz:
Sie können die jeweils richtige Strategie für eine bestimmte Testaufgabe auswählen und umsetzen.
Die Studierenden können die für die Testaufgabe geeigneten Tools auswählen und zielgerichtet einsetzen. Sie beschaffen sich Dokumentation über die eingesetzten Tools und eignen sich den Umgang mit den Tools eigenständig an. Sie können auf Basis von Anforderungsdokumenten Testfälle formulieren und durchführen.
Content information
In diesem Modul werden die theoretischen Grundlagen des Testens vermittelt:
• Testen im Software-Lebenszyklus
• Testlevel / Testarten
• Statische Techniken der Qualitätssicherung von Software
• Dynamische Techniken der Qualitätssicherung von Software
• Testorganisation
• Softwarequalität und Risikomanagement
• Testwerkzeuge

Diese Grundlagen werden anhand praktischer Beispiele z.B. in Python vertieft:
• Teststrategien: Random- , Differential- ,Regression-Testing, ...
• Testklassen: Unit-, Modul-, Komponenten-, Integrations-, GUI-, System- und Akzeptanz-Tests
• Testtechniken: Fault Injection, Blackbox und Whitebox-Testing, Assertions
• Testabdeckung / Code Coverage
• BugTriage

Das Modul vermittelt außerdem den praktischen Einstieg in typische Testtools, z.B.
• Continous Integration Server (Jenkins / Bamboo)
• Unit Test Frameworks, z.B. Junit, PyUnit
• Code Coverage Tools
• Static Code Analyzers
• Profiler
• Agile Testing, M. Baumgartner et al, ISBN: 978-3-446-43194-2
• Koomen, T., Pol, M. and Allott, S.K.: Test Process Improvement, Addison-Wesley Longman, 2002
• Liggesmeyer, P.: Software-Qualität: Testen, Analysieren und Verifizieren von Software, Spektrum Verlag, 2009.
• Spillner, A., Linz, T.: Basiswissen Softwaretest. Dpunkt-Verlag, 2012
• Weitere Literatur wird rechtzeitig vor Beginn der Veranstaltung bekanntgegeben.
Teaching formats of the courses
Teaching format SWS
Lehrvortrag 2
Labor 2
Workload
4 SWS
5,0 Credits
48 Hours
102 Hours
Module Examination
Method of Examination Duration Weighting gem. PVO §11 Satz 3 anrechenbar Graded Remark
Projektbezogene Arbeiten 50 % In verschiedenen Tests wird im Labor der Umgang mit den einschlägigen Tools und die Fähigkeit sinnvolle Tests umzusetzen überprüft.
Klausur 120 Minutes 50 %
Miscellaneous
Fundierte Programmierkenntnisse aus den vorangegangenen Modulen (PRG, OOP, MOB).