fachgebiet software engineering Übersicht © 23.01.2014 albert zündorf, kassel university test...

15
Fachgebiet Software Engineering Übersicht © 26.06.22 Albert Zündorf, Kassel University Test Summary: ein Fehler pro Tag Test First Funktionstests (anstatt Bausteintests) Coverage vollautomatisch unglaublich wertvoll bei Änderungen / iterativem Vorgehen

Upload: kaethe-wesling

Post on 05-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

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

Page 2: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

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

Page 3: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

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

Page 4: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

How to chat with the Creep Smash Server

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Page 5: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

How to chat with the Creep Smash Server

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Struktur

Verhalten Daten

Page 6: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Client Architecture

Data Model

GUI

KI

SocketConnection

Page 7: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Data Model

Struktur

Verhalten Daten

Page 8: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Struktur

Verhalten Daten

Page 9: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

GUI

siehe German Barbeque Listener, Observer, PropertyChange, Model View Controller

Page 10: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Struktur

Verhalten Daten

Page 11: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

KI im Modell:

Struktur

Verhalten Daten

Page 12: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

A* Algorithmen:

Struktur

Verhalten Daten

Page 13: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Strategy Pattern:

Struktur

Verhalten Daten

Page 14: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University

Strategy Pattern

Struktur

Verhalten Daten

Page 15: Fachgebiet Software Engineering Übersicht © 23.01.2014 Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests

Fachgebiet Software Engineering Übersicht © 11.04.23 Albert Zündorf, Kassel University