## Lerntagebuch ### Übung 1 2.11.2022 ### Lernziel #### Übung 2 7.11.2022 einen ssh-key erstellt öffentlichen Schlüssel zu gogs hinzugefügt Branch erstellt ### Übung Debugging 16.11.2022 #### Übung 3 clone link https://gogs.informatik.hs-fulda.de/Programmiermethoden_und_werkzeuge-public/UebungDebugging.git **Task 1 Uebung 1** - Nachdem Aktivieren Sie die Zeilen 36 bis 38 durch entfernen der beiden *slashes*. **Ausgaben sind:** enter an integer number: 5 - input: 5, Schleifenvariable: 2, Ergebnis 1 - input: 5, Schleifenvariable: 3, Ergebnis 2 - input: 5, Schleifenvariable: 4, Ergebnis 1 - number 5 passed check: true% enter an integer number: 34 - input: 34, Schleifenvariable: 2, Ergebnis 0 - number 34 passed check: false% enter an integer number: 89 - nachdem schleifen es gibt - number 89 passed check: true% Nachdem einen Breakpoint an ziele 35 und zahl 45 eingeben es gibt - die Inhalte der Variablen sind nextInt: 45, i:2, ergebnis:1 Nochmal lauft das Programm im Debug-modes und eingeben zahl ist 47 - die Inhalte der Variablen sind nextInt: 47, i:2, ergebnis:1 dann nextInt: 47, i:3, ergebnis:2 - am ende nextInt: 47, i:46 Ergebnis:1 check: true **Task 2 Uebung 2** Öffnen Sie das programm `Uebung2.java` im Editor - Starten Sie das Programm mehrfach (*"run as Java Application"*) und geben Sie verschiedenen natürliche Zahlen ein. - **natürliche zahlen sind 45, 14, 89 ergebnis sind False ingesamt** - setzen Sie einen BreakPoint in Zeile 40 - Starten Sie das Programm wie bisher - Starten Sie das Programm im Debug-Modus und geben Sie die Zahl 45 ein - Notieren Sie die Inhalte der Variablen (this) nextInt: 23 - this: **Uebung2@8** - count: **3** - Notieren Sie die Anzahl der Einträge in der *Debug View* (this): **this, count, in, out in total 4 mit Zwischenüberschritt** - in welcher Zeile steht der Debugger? 34->36 - Notieren Sie die Anzahl der Einträge in der *Debug View* (this) - nextInt: **45**, count: **2** - in welcher Zeile steht der Debugger? **40** - Notieren Sie die Anzahl der Einträge in der *Debug View* (this) false - nextInt: **16**, count: **4** ergebnis: **false** **Beenden Sie den Debugger (*"Terminate"*)** ### Uebung 4 23.11.2022 #### Source Code Management (SCM) **Lokale Respository** 1.1 Stage und Historic 1.2 Merge 1.3 rebase **Git Respositoty changes** #### Vorlesung 07.12.2022 ##### Test **Testmethodoligie - Bestandteile eine Tests** - Stichprobe - Testfälle - Testdaten - Testobekt - Testumgebung - Testziel - Soll-/Ist- Wertvergliech **Testziele** - Fehler aufzeigen - Qualität erfassen - Vertrauen erhöhen - Grenzen ermitteln **Testebenen** - Anwendung/System - Teilsystem/Modul - Codeebene/Unit **Testpyramide** - GUI Tests (end to end tests) business logik überprufen, functions und kommiunikation mit anderen components überprufen. - Integration tests - Component / Contract Tests - Unit Tests **Testnamen** Test werden benannt nach: - Ziel (Integration Test, Lasttest) - Methode (Regressionstest) - Testgegenstand (UI-test, Module-test, Unit-test) - Level (Systemtest) - Personen (Entwicklertest, Anwendertest) - Testabdeckung (Komplettest, partieller Test) **Qualitätskosten** - High Cost -> Poor Quality -> Failure Costs - High Cost -> Exceptional Quality -> Sweet Spot (prevention & Appraisal Cost) - Low Cost -> Exceptional Quality -> prevention & Appraisal Cost **Testprozess** **Testprozess - Ablauf** **Testprozess - Plannung** **Testprozess - Analyse & design** - basiert auf Anforderungsdokumentation - Testspezifikation - Testfaelle - Kritikalitaet - Testdaten - Testumgebung - Ausfuehrungsreihenfolge - Infrastruktur - Testkriterium **Testprozess - Testausfuerung** Testlog - aufgetretenes Fehlverhalten - Fehlerkategorie (high/medium/low) **Testprozess - Testnachbereitung** - Testreport - Zusammenfassung Testausfuehrungen - Vergleich mit frueheren Testlaeufen - Entscheidung ueber Lieferfaehigkeit