Statische und dynamische Codeanalyse: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „DUMMY == Einleitung == Dieser Vortrag gibt einen Überblick über die aktuellen Möglichkeiten die Qualität von Software zu bestimmen und zu sichern. ==Ihre…“)
 
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
DUMMY
==Einleitung==
Ein Softwaretest prüft und bewertet Software auf Erfüllung der für ihren Einsatz definierten Anforderungen und misst ihre Qualität. Die gewonnenen Erkenntnisse werden zur Erkennung und Behebung von Softwarefehlern genutzt. Tests während der Softwareentwicklung dienen dazu, die Software möglichst fehlerfrei in Betrieb zu nehmen.


== Einleitung ==
Von diesem, eine einzelne Testmaßnahme bezeichnenden Begriff ist die gleich lautende Bezeichnung 'Test' (auch 'Testen') zu unterscheiden, unter der die Gesamtheit der Maßnahmen zur Überprüfung der Softwarequalität (inkl. Planung, Vorbereitung, Steuerung, Durchführung, Dokumentation usw.; siehe auch Definitionen) verstanden wird.
Dieser Vortrag gibt einen Überblick über die aktuellen Möglichkeiten die Qualität von Software zu bestimmen und zu sichern.
 
Den Nachweis, dass keine Fehler (mehr) vorhanden sind, kann das Softwaretesten nicht erbringen. Es kann lediglich fallibilistisch feststellen, dass bestimmte Testfälle erfolgreich waren. Edsger W. Dijkstra schrieb hierzu: „Program testing can be used to show the presence of bugs, but never show their absence!“ (Das Testen von Programmen kann die Existenz von Fehlern zeigen, aber niemals deren Nichtvorhandensein). Der Grund ist, dass alle Programmfunktionen und auch alle möglichen Werte in den Eingabedaten in allen ihren Kombination getestet werden müssten – was (außer bei sehr einfachen Testobjekten) praktisch nicht möglich ist. Aus diesem Grund beschäftigen sich verschiedene Teststrategien und -konzepte mit der Frage, wie mit einer möglichst geringen Anzahl von Testfällen eine große Testabdeckung zu erreichen ist.
 
Geben Sie einen Überblick über das Thema Software-Testverfahren.


==Ihre Aufgaben==
==Ihre Aufgaben==
* Recherchieren Sie die wichtigsten Methoden der Software-Qualitätssicherung.
*Motivieren Sie das Gebiet der Software-Testverfahrene.
* Präsentieren Sie diese anhand von Beispielen anschaulich.
*Stellen Sie die in der Literatur gängigen Verfahren vor.
*Nutzen Sie praktische Beispiele um das Thema anschaulich zu präsentieren.
 
Sprechen Sie die Schnittstellen zu den nachfolgenden Vorträgen bitte mit den Kommilitonen ab.


==Kür-Aufgabe==
==Kür-Aufgabe==
Machen Sie doch eine Umfrage unter Ihren Kommilitonen (Semester 1-7) welche Firmen welche Maßnahmen zur Software-Qualitätssicherung einsetzen und warum. Das wäre aber schon das ++ hinter der 1.  
Machen Sie doch eine Umfrage unter Ihren Kommilitonen (Semester 1-7) welche Firmen welche Software Testverfahren einsetzen und warum. Das wäre aber schon das ++ hinter der 1.


==Mögliche Fragen==
==Mögliche Fragen==
* Wie lässt sich SW-Qualität messen?
* Wozu braucht man Software-Testverfahren?
* Welche Methoden zur Verbesserung der SW-Qualität gibt es?
* Wie funktioniert eine statische/dynamische Codeanalyse?
* Wie lässt sich das auf ihr Studium übertragen?
* Wie dokumentiert man die Ergebnisse?
* Gibt es Tools, die einen beim Erhalt von SW-Qualität unterstützen können?
* Wie ist der Ablauf einer statischen/dynamischen Codeanalyse?


== Literaturs==
* Hoffmann, D. W.: Software-Qualität. Berlin Heidelberg; Springer-Verlag, 2013. DOI 10.1007/978-3-642-35700-8_4
* Witte, F.: Testmanagement und Softwaretest. Berlin Heidelberg: Springer, 2001. ISBN 978-3-658-09963-3
* Elfriede, D; Jeff, R; John, P.: Software automatisch testen. Wiesbaden: Springer 2016. ISBN 978-3-658-09963-3


== Literatur ==
* Ernest Wallmüller: Software–Qualitätsmanagement in der Praxis. Software-Qualität durch Führung und Verbesserung von Software-Prozessen. 2. Auflage. Hanser, München u. a. 2001, ISBN 3-446-21367-8.
* Hoffmann, D. W.: Software-Qualität. Springer, 2013. ISBN 978-3-642-35700-8
* Ungermann, C., Tesch, F.-J., Stolpe, B., Weissert, M.: Qualitätsmanagement bei der Softwareerstellung.Springer, 1996. ISBN 978-3-642-95788-8




----
----
<!--
→ zurück zum Hauptartikel: [[Seminar_SDE_WS_19/20|Seminar SDE WS 19/20]]
→ zurück zum Hauptartikel: [[Seminar_SDE_WS_19/20|Seminar SDE WS 19/20]]
-->
→ zurück zum Hauptartikel: [[Seminar_SDE_WS_20/21|Seminar SDE WS 20/21]]

Aktuelle Version vom 25. März 2021, 11:54 Uhr

Einleitung

Ein Softwaretest prüft und bewertet Software auf Erfüllung der für ihren Einsatz definierten Anforderungen und misst ihre Qualität. Die gewonnenen Erkenntnisse werden zur Erkennung und Behebung von Softwarefehlern genutzt. Tests während der Softwareentwicklung dienen dazu, die Software möglichst fehlerfrei in Betrieb zu nehmen.

Von diesem, eine einzelne Testmaßnahme bezeichnenden Begriff ist die gleich lautende Bezeichnung 'Test' (auch 'Testen') zu unterscheiden, unter der die Gesamtheit der Maßnahmen zur Überprüfung der Softwarequalität (inkl. Planung, Vorbereitung, Steuerung, Durchführung, Dokumentation usw.; siehe auch Definitionen) verstanden wird.

Den Nachweis, dass keine Fehler (mehr) vorhanden sind, kann das Softwaretesten nicht erbringen. Es kann lediglich fallibilistisch feststellen, dass bestimmte Testfälle erfolgreich waren. Edsger W. Dijkstra schrieb hierzu: „Program testing can be used to show the presence of bugs, but never show their absence!“ (Das Testen von Programmen kann die Existenz von Fehlern zeigen, aber niemals deren Nichtvorhandensein). Der Grund ist, dass alle Programmfunktionen und auch alle möglichen Werte in den Eingabedaten in allen ihren Kombination getestet werden müssten – was (außer bei sehr einfachen Testobjekten) praktisch nicht möglich ist. Aus diesem Grund beschäftigen sich verschiedene Teststrategien und -konzepte mit der Frage, wie mit einer möglichst geringen Anzahl von Testfällen eine große Testabdeckung zu erreichen ist.

Geben Sie einen Überblick über das Thema Software-Testverfahren.

Ihre Aufgaben

  • Motivieren Sie das Gebiet der Software-Testverfahrene.
  • Stellen Sie die in der Literatur gängigen Verfahren vor.
  • Nutzen Sie praktische Beispiele um das Thema anschaulich zu präsentieren.

Sprechen Sie die Schnittstellen zu den nachfolgenden Vorträgen bitte mit den Kommilitonen ab.

Kür-Aufgabe

Machen Sie doch eine Umfrage unter Ihren Kommilitonen (Semester 1-7) welche Firmen welche Software Testverfahren einsetzen und warum. Das wäre aber schon das ++ hinter der 1.

Mögliche Fragen

  • Wozu braucht man Software-Testverfahren?
  • Wie funktioniert eine statische/dynamische Codeanalyse?
  • Wie dokumentiert man die Ergebnisse?
  • Wie ist der Ablauf einer statischen/dynamischen Codeanalyse?

Literaturs

  • Hoffmann, D. W.: Software-Qualität. Berlin Heidelberg; Springer-Verlag, 2013. DOI 10.1007/978-3-642-35700-8_4
  • Witte, F.: Testmanagement und Softwaretest. Berlin Heidelberg: Springer, 2001. ISBN 978-3-658-09963-3
  • Elfriede, D; Jeff, R; John, P.: Software automatisch testen. Wiesbaden: Springer 2016. ISBN 978-3-658-09963-3



→ zurück zum Hauptartikel: Seminar SDE WS 20/21