diff --git a/Lerntagebuch.md b/Lerntagebuch.md index d614cc2..f7f022d 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -554,3 +554,162 @@ ###Mitteilung an die Dozierenden ####keine + +## SU_07 + +### Lernziele + +#### Testen von Software + +#### Motivation + *Menschen machen Fehler + *Fehler führen zum enerwünschten Verhalten von Software + *unerwünschtes Verhalten von Software ist teuer sowohl materiell als auch ideel + +#### Grundlagen + + *Qualitätssicherung QS unterschiedliche Ansätze und Maßnahmen + *Testmanagement (Konzeptionierung, Planung, Schätzung, Überwachung usw.) + *Testumgebung (technisch-organisatorische Infrastruktur, die zum Testen benötigt wird. + *Test (ein methodischer Versuch, mit dem festgestellt werden soll, ob Eigenschaften einer Sache den Erwartungen entsprechen. + *Prufen (Feststellen inwieweit ein Prüfobjekt eine Forderung erfüllt) + *Software (Code, fertiges Programm) + +#### Fehler oder Feature? + *ein nicht den Anforderungen entsprechendes Verhalten + *ohne Anforderungen gibt es keine Fehler, nur Überraschungen + +#### Ereigniskete + *Error (Person macht Fehler beim Schreiben von Code + *Defect (Defekt - Fehlerstelle im Code) + *Failure das nicht den Anforderungen entsprechendes Verhalten (Fehlverhalten -> Runtime Error + +#### Fehlerauftreten + +##### Akuter: bei normaler Programmausführung + direkter Verstoss gegen die Anforderungen +##### Latenter + *Fehler tritt auf, wenn Daten nicht wie erwartet sind + *bestehn alle Arten von Tests + *üblicherweise durch Anwender aufgedeckt +##### maskierter + *wird von anderen Fehler verdeckt (meist von latenten Fehler) + *ert auffindbar, wenn andere Fehler beseitigt sind + *kein Einfluss auf Funktionalität + +##### kaskadierter + *Fehler an anderer Stelle verursacht Folgefehler + *kein Fehler im eigentlichen Sinne (Anforderungen) + +#### Arten von Defekten + *lexigraphisch (compiler reagiert darauf) + *syntaktisch () + *semantisch (Verfügbarkeit der Variablen nicht gegeben, weil sid woanders definert war) + *logisch (die Abarbeitungslogik falsch) + *Design (Entwurfsmuster ist falsch) + *Arbeitsablaufs- Design + +#### TESTMETHODOLOGIE + +##### Arten von Tests + *manuell + *statische Codeanalyse (Analyse des Quellcodes, Formatierung, Entwurfsmuste usw.) + *automatisiert + *dynsmische Tests + + die kann man alle miteinander kreuzen + +##### Bestandteile eines Tests + *Stichprobe + **Testfälle + **Testdaten + *Testobjekt (Der Bereich, der auch tatsächlich getestet werden soll) + *Testumgebung + *Testziel + *Soll- /Ist- Wertvergleich + +##### Testziele + *Fehler aufzeigen + *Qualität erfassen + *Vertrauen erhöhen + *Grenzen ermitteln + +##### Testebenen + *Anwendung/System (kein weiteres Tool erforderlich) + *Teilsystem/Modul (erhöhtes tooling Aufwand) + *Codeebene/Unit (die kleinste Einheiten; wie groß die Units sein sollen ist unterschiedlich. + + *die Ebenen sind untereinander nicht austauschbar + +##### Testpyramide (Darstellung tendeziell) + *sihe Bild im Script + *je weiter nach oben desto langsamer und unspezifischer sind die Tests + *allg. bezieht sich die Pyramide auf die automatisierte Tests + +##### Testnamen (Tests werden benannt nach: + *Ziel + *Methode (Integration, Lasttest) + *Testgegenstand (UI, Module, Unit) + *Level (System) + *Personen (Entwickler-, Anwedertests) + *Testabdeckung (Komplettstest, partieller Test) + +##### Qualitätskosten + *sihe Bild im Script + +##### Testprozess + *besteht aus versch. Schritten + **Planung + **Cases development + **Test execution + **Defect tracking + **Analyse + +##### Planung + *Testplan IEE829 + **Testziel + **Ressoursen + **Teststrategie + ***Prioritäten + ***Entwurfsmethode + ***Testabdeckung + ***Testendekriterium + ***Testumgebung + +##### Analyse & Design + *basiert auf Anforderungsdokumentation + *Testspezifikation + *Testfälle + **Kritikalität + **Testdaten + **Testumgebung + *Ausführungsreihenfolge + *Infrastruktur + *Testkriterium + +##### Testausführung + *Testlog + **aufgetretenes Fehlverhalten + **Fehlerkategorie (high/medium/low) + +##### Testnachbereitung + *Testreport + *Zusammenfassung Testausführungen + *Vergleich mit früheren Testläufen + *Entscheidung über Liefergähigkeit + + +#### Psychologische Aspekte + + *Menschen mache Fehler + *niemand gibt gern Fehler zu + +#### Lösung + *gegenseitiges Testen + *formalisiete Fehlerberichte (klare Kriterien festgelegt und keiner fühlt sich angegriffen) + + + +### Erkenntnis +### Kritik +### Mitteilung an die Dozierenden