|
@ -554,3 +554,162 @@ |
|
|
###Mitteilung an die Dozierenden |
|
|
###Mitteilung an die Dozierenden |
|
|
|
|
|
|
|
|
####keine |
|
|
####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 |