Browse Source

Neue Datei hochladen

main fetched-on-2022-12-22
fdai7460 2 years ago
parent
commit
f14911f5cb
  1. 54
      Lerntagebuch.md

54
Lerntagebuch.md

@ -0,0 +1,54 @@
##SU 08 Lerntagebuch (14.12.2022)
##Daria Popa fdai7460 Matrikelnummer:1436682
### Lernziel => Was waren die wesentlichen Inhalte der letzten Vorlesung/Übung?
- Automatisierter Test ist kein vollständiger Ersatz für manuellen Test
- Je länger man mit dem Test beschäftigt ist, desto eher verliert man den roten Faden
- Testprotokoll ist die Abspreche, wobei jeder kann es anders verstehen = Komplikationen
- Tester muss gut ausgebildet sein, sowie muss die Prozesse der Software verstehen, um das Ergebnis des Testes gut bewerten zu können = wissen über Fachlichkeit
- Testwerkzeuge zum Beispiel Exceltabelle
- Aufwand = jeder Testdurchlauf erfordert Menschen => Langsamkeit sowie Arbeitszeit
- Geringe Kosten = geringe  Qualität
- Qualität steigt = steigen auch die Kosten
- Gründe, um automatischen Tests nicht zu machen:
- Nur User Interface => Programm ist zu komplex und/oder Fehlende Testumgebung
- Geerbter Code =>Zu höher Auswand und/oderDeadline
-Kriterien für automatischen Test:
- Test, der sich einfach maschinell überprüfen, wiederholen, als auch testen lässt, hat eine hohe Bedeutung
- Ein begrenztes Codeabschnitt = Unittest
- Modultest = testet, ob die richtige Rechnung gewählt wurde
- Applikation/Module-Tests => späte Ausführung im Entwicklungsprozess, komplexe Testwerkzeuge, aufwendig zu warten, zeigen die Existenz vom Fehler, jedoch nicht genau, wo er sich befindet, d. h.. Man muss selber feststellen.  Wo der Fehler liegt
- Unit-Teste unterscheiden sich genau in oben genannten Punkten, laufen früh im Entwicklungsprozess, Werkzeuge sind einfach, Fehler werden gezeigt und Unittest ist gegen Änderungen stabil
- Ein Unittest dokumentiert, was man an Anforderungen verstanden hat und ob es erfüllt ist oder nicht. Hier werden keine Code oder Implementierung, sondern Verhalten von Code getestet. Dabei ist zu beachten, dass nur eine einzige Erwartung wird getestet. Wenn man mehrere Soll Bereiche hat, wird nur zu dem ersten Fehler bearbeitet, der Rest nicht mehr
- Ein Unittest - muss genug schnell sein, damit man direkt während des Arbeitens Test durchführen kann, 
voneinander unterschiedlich sein, ein Test kann nicht von anderen Test abhängig sein. Dazu muss es auch wiederholbar und 
digital sein, Soll-Ist-Vergleich muss innerhalb des Testest durchgeführt werden. Außerdem muss es zeitnah sein. 
Erst wird der Code geschrieben, dann Unittest => Probleme: zu enger Beziehung, wird nur Code getestet, nicht sein Verhalten. Erst Unittest dann das Verhalten implementiert/umsetzt => Probleme: weiß man nicht, ob die Merge oder Test nicht gut sind
- Da Tests und Code werden mehrmals gelesen als geschrieben, müssen die kurz wie möglich sein und Eigenschaften der Parameter und Ergebnisse anlegen
- Zusätzlich Tests müssen sehr einfach geschrieben sind, denn je komplizierter, desto mehr Fehler können vorhanden sein.
- Arten von Test-Doubles
- Stub=> Minimal interpretierter Interface
- Fake => Höhere Form vom Stub, hier stehen hart codierte werde, die wir für den Test konfigurieren
- Vereinfachen bedeutet beschleunigen
- Mock=> zusätzliche Infrastruktur, antwortet auf die Fragen: welche Methoden, wie oft
- Geschriebener Test kann später in andrem Kontext benutzt werden
- Wenn man von Anfang an clean Code schreibt, so verhindert man die Fehler und langes Testen
### Erkenntnis => Was kann ich für das Gruppenprojekt anwenden?
Am besten kleine Abschnitte unseres Codes mit Unittest testen, denn so findet man eigene die Fehler oder auch von den anderen Entwicklern. Je mehr Tests man als Gruppe macht, desto "sicher" der Code ist, was die Spannung in der Gruppe entnimmt. Es ist sehr wichtig automatisierte, als auch manuelle Tests zu machen
### Wiederholung => Einen Begriff/Ein Thema in eigenen Worten erklären.
Die Unittests haben die Aufgabe, die Geschäftslogik zu überprüfen, wobei Applikationen oder Module-Tests für die Verdrahtungssystem verantwortlich sind. Beim Testen ist es wichtig das Verhalten vom Test zu testen, nicht den Code oder die Implementierung. Ein guter Unittest muss schnell, unabhängig, wiederholbar, zeitnah und selbst auswertend sein
###Kritik => Was möchte ich dem Dozenten mitteilen?
Loading…
Cancel
Save