m m m m m m m m m m m m m m m m m m m m ... - cfainstitute.org
Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test...
-
Upload
kaethe-wesling -
Category
Documents
-
view
102 -
download
0
Transcript of Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test...
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Test Summary:
ein Fehler pro Tag
Test First
Funktionstests (anstatt Bausteintests)
Coverage
vollautomatisch
unglaublich wertvoll bei Änderungen / iterativem Vorgehen
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
JUnit Tests – Test First Principle
im eXtreme Programming / agilen Methoden: JUnit Tests Für jede Funktionalität (jedes Oval im Use-Case Diagramm) wird als erstes
eine automatische Testroutine geschrieben Testroutine ist einzeln aufrufbar und wird in Gesamttest eingehängt Testroutine kommt in die gleichen Klassen, wie die Implementierung Testroutinen verbleiben im Code und gehören zum Endprodukt Aufgaben der Testroutine:
verschiedene Ausgangssituationen herstellen Funktionalität aufrufen Messpunkte im Code abfragen (Testanweisungen fügen Meldungen an Testreport
an) Testprotokoll ausgeben (Testreport mit erwartetem Output vergleichen)
expliziter Unit-Test kann entfallen im Unified Process
Tester != Programmierer
Defect-Removal-Rate ~ 1 per day
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Reviews
Entwickler selbst plus Co-Entwickler oder externer Reviewer Check-Liste mit typischen Fehlern Code ist schon Unit getestet => suche nur nach typischen Fehlerquellen:
Division durch 0 null-Pointer Dereferenzierung Speicher-Lecks Array-Grenzen bei for-Schleifen deckt kompliziertes if alle Fälle richtig ab Terminiert die Schleife / Rekursion sicher Dead-Lock-Gefahren Racing Conditions . . .
+ Defect-Removal-Rate ~ 1 per hour
+ Reviewer lernt viele Kniffe
+ Viele Leute kennen viele Teile des Gesamtprogramms bei XP pair-programming
How to chat with the Creep Smash Server
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
How to chat with the Creep Smash Server
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Client Architecture
Data Model
GUI
KI
SocketConnection
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Data Model
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
GUI
siehe German Barbeque Listener, Observer, PropertyChange, Model View Controller
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
KI im Modell:
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
A* Algorithmen:
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Strategy Pattern:
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University
Strategy Pattern
Struktur
Verhalten Daten
Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University