Modul


Allgemeine Informationen
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
Studiengänge und Art des Moduls (gemäß Prüfungsordnung)
Studiengang Vertiefungsrichtung Schwerpunkt Modulart Fachsemester
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

Kompetenzen / Lernergebnisse
Kompetenzbereiche: Wissen und Verstehen; Einsatz, Anwendung und Erzeugung von Wissen; Kommunikation und Kooperation; Wissenschaftliches Selbstverständnis/Professionalität.
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.
Angaben zum Inhalt
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.
Lehrformen der Lehrveranstaltungen
Lehrform SWS
Lehrvortrag 2
Labor 2
Arbeitsaufwand
4 SWS
5,0 Leistungspunkte
48 Stunden
102 Stunden
Modulprüfung
Prüfungsform Dauer Gewichtung wird angerechnet gem. § 11 Satz 3 PVO Benotet Anmerkung
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 Minuten 50 %
Sonstiges
Fundierte Programmierkenntnisse aus den vorangegangenen Modulen (PRG, OOP, MOB).