From 4e10b65e2099ea61c95db59d66b2c2523ef13047 Mon Sep 17 00:00:00 2001 From: Kevin Schellberg Date: Fri, 15 Dec 2023 13:14:24 +0100 Subject: [PATCH] mein 8ter push --- .UebungTests.md.swp | Bin 0 -> 1024 bytes Lerntagebuch.md | 30 ++++++++++++++ UebungTests.md | 95 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 .UebungTests.md.swp create mode 100644 UebungTests.md diff --git a/.UebungTests.md.swp b/.UebungTests.md.swp new file mode 100644 index 0000000000000000000000000000000000000000..974ca73a81e504b3297ef0cbfd2e894ddea87984 GIT binary patch literal 1024 zcmYc?$V<%2S1{8vVn6{4A2Tqdr6gur7#JI)NMPXg+4dMU* literal 0 HcmV?d00001 diff --git a/Lerntagebuch.md b/Lerntagebuch.md index a29e8a1..592077c 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -163,3 +163,33 @@ Es liegt keine Kritik gegenüber der Vorlesung oder Übungsstunde vor. --- ## SU 8 (15.12.2023) + +### Lernziel + +Fehler sind normal, aber vermeidbar -> Fehler können teuer werden und keiner gibt gerne Fehler zu oder sieht sie selber nicht. +Begriffe der unterschiedlichen "Instanzen" einer Software +Begriffe der unterschiedlichen Fehlerarten und nähere Erklärung +Arten von Tests und deren Ziele, Testbenennung und Diagramm Veranschaulichung der Relation Qualität und Kosten. +Testprozess in mehreren Schritten als Diagrammvorschau, IEEE829, Dokumentation und Fehlerlog. + +### Erkenntnis + +Es ist in Ordnung Fehler zu machen und deswegen testet man den Code oder lässt andere drüber schauen. +Es gibt eine Menge Art und Weisen, Fehler zu erzeugen und gleichzeitig viele Methoden Fehler zu vermeiden oder herauszufinden + +### Wiederholung + +Arten von Defekten: +Syntaktisch: Formale Strukturfehler im Code +Semantisch: Bedeutungsfehler beeinträchtigen die Logik +Lexigraphisch: Tippfehler und Schreibfehler im Code +Logisch: Fehler in der Programlogik +Design: Probleme mit der Gesamtstruktur +Arbeitsablaufs-Design: Schwächen in Prozessabläufen + +### Kritik + +Es liegt keine Kritik gegenüber der Vorlesung oder Übungsstunde vor + +--- +## SU 9 (22.12.2023 diff --git a/UebungTests.md b/UebungTests.md new file mode 100644 index 0000000..09ab5f5 --- /dev/null +++ b/UebungTests.md @@ -0,0 +1,95 @@ +#Übung Tests + +### Was ist ein Test? + +Prozess der die Funktionalität der Software prüft. +Ein Versuch auf mehreren Art und Weisen eine Software auszuprobieren, ob sie fehlerfrei oder fehlerbehaftet läuft und den Erwartungen entspricht + + +### Was ist ein Fehler? + +Abweichung Soll/Ist Zustand +Ein Fehler ist ein unerwünschtes Verhalten der Software, welches durch mehrere Einflüsse auftreten kann z.B.: +Tippfehler, Daten sind nicht wie erwartet, Folgefehler + + +### Welche Ziele haben Tests? + +unerwünschtes Verhalten der Software voraussehen +Qualitätsicherung +Grenzen der Software ermitteln +vertrautheit mit der Software + +### Nennen Sie die Bestandteile eines Tests + +Testfall +Testdaten -> Korrekte und fehlerhafte Daten +Testumgebung -> Software, Hardware, Netzwerk +Testprozedur -> Beschreibt die genauen Instruktionen, die bei dem Testfall +Testausführung -> Verhalten der Software beobachten & Ausgabe prüfem +Testresultat -> Abgleich Erwartungswert vs. Realität +Testbericht -> Testresultate zusammenfassen, Performance-Metriken auswerten + +Stichproben, Testobjekt, Testumgebung, Testziel, Vergleich Soll/Ist Werte + + +### Welche Bedeutung hat die Testpyramide + +Visualisiert die unterschiedlichen Teststufen +Konzept der die ausgewogene Balance zwischen unterschiedlichen Testarten herstellt + +Unterste Layer: Unit Tests +Mittlere Layer:Integration Tests +Top Layer: UI/End-to-End + +Fehler sollen frühzeitig, kostengünstig behoben werden. +Effizient beim Testing -> rasches Feedback +Weiter oben in der Hierachie komplexere Tests + +### Beschreiben Sie einen Testfall + +1) Kennzeichnung Ziel: Definieren des eigentliches Ziels des Testfalles +2) Bedingungen, Pre- und Postkonditionen +3) Eingabe/Daten: korrekte/fehlerhafte Daten +4) Erwartete Ausgabe: Klar definierte Reaktion auf Eingabe! +5) Schritte/Prozeduren: Konkrete Operation die ausgeführt werden soll +6) Dokumentation: Hilft bei der Rekonstruktion & Weiterentwicklung + +### Testfälle Rechenoperation + +1) Integer Division: + - Eingabe: 10, 3 + - Erwarteter Output: 3 + Beschreibung: + +1. Integer Multiplikation + - Eingabe: 10, 3 + - Erwarteter Output: 30 + Beschreibung: + - Bei der Integer Multiplikation mit 10 mal 3 soll 30 als Ergebnis dokumentiert werden + +2. Integer Addition + - Eingabe: 10, 3 + - Erwarteter Output: 13 + Beschreibung: + - Bei der Integer Addition mit 10 plus 3 soll 13 als Ergebnis dokumentiert werden. + +3. Integer Subtraktion + - Eingabe: 10, 3 + - Erwarteter Output 7 + Beschreibung: + - Bei der Integer Subtraktion mit 10 minus 3 soll 7 als Ergebnis dokumentiert werden. + +### Testfälle Zeilenumbruch + +Intelligenter Zeilenumbruch +Keine Eingabe +100 Eingaben bei 80 Max einer Zeile +80 Eingaben bei 80 Max einer Zeile + +### Beispiele veröffentliche Softwarefehler + +latent versteckter Fehler OpenSSL Heartbleed (2014) +maskiert verdeckter Fehler Pentium FDIV Bug (1994) +kaskadiert Folgefehler Ariane 5 Flug 501 (1996) +