framework for integrated test (fit) customer information day, norcom frankfurt, 24.05.2007 pierre...
TRANSCRIPT
Framework for Integrated Test (FIT)
Customer Information Day, Norcom Frankfurt, 24.05.2007Pierre Feldbusch, NorCom
24.05.07
2
Über mich
• Pierre Feldbusch– Senior Consultant, NorCom– Fon +49 (0)69-58996-0– [email protected]
• Schwerpunkte– Java Enterprise Entwicklung– Anforderungsentwicklung– Testautomatisierung
24.05.07
3
Agenda der nächsten 45 Minuten
Teil 1 - IT: Pierre Feldbusch, NorCom• Motivation• Ideen und Konzepte• ein einfaches Beispiel
Teil 2 - Fachseite: Bernd Dörschler, Dresdner Bank• Erfahrungen über den FIT-Einsatz in einem großen Projekt
Teil 3 - IT: Pierre Feldbusch, NorCom• BeneFITs aus IT-Sicht• Zusammenfassung
24.05.07
4
Anforderungsentwicklung
ZIEL IT versteht die Anforderungen• Fachliche Zusammenhänge darstellen (Basis für IT)• Beschreibung konkreter fachlicher Anforderungen
STANDARD-TECHNIKEN:• Prosa-Text für Grobstruktur und Standardfälle• UML (Functional Design) Detaillierung
24.05.07
5
Anforderungsentwicklung
Risiken gefährden den Projekterfolg
HAUPTPROBLEME:• Hoher Abstraktionsgrad• Mißverständnisse durch Sprache• Unvollständigkeit
– implizites Wissen
– Grenzwerte/Ausnahmefälle
KONSEQUENZEN:Fachliche Zusammenhänge unklar bzw. falsch verstanden kurzfristig: viele Defects
mittelfristig: unangemessenes Design
langfristig: unangemessene Architektur
24.05.07
6
Anforderungsentwicklung
Ideale Anforderung:Beschreibung durch mathematische Funktionen
ABER: in vielen Einsatzbereichen zu aufwendig bzw. nicht möglich
Que
lle:
Wik
iped
ia.d
e
Vorteile:
• vollständig
• eindeutig
• konkret (leichter verständlich)
• abstrakt (nützlich bei nicht-diskreten Wertebereichen)
24.05.07
7
Anforderungsentwicklung
Que
lle:
Wik
iped
ia.d
e
Vorteile:
• immer einsetzbar
• eindeutig
• konkret
• entspricht menschl. Lernverhalten
pragmatische Anforderung: Wertetabelle
Nachteile:
• unvollständig bei nicht-diskreten Wertebereichen Äquivalenzklassenbildung
• Fehlinterpretationen sind möglich (Wertetabelle impliziert nicht Graph)
Wertetabelle:
Fachliches (mentales) Modell:
24.05.07
8
Framework for Integrated Test (FIT)Idee und Konzeption
Wertetabellen aus den Anforderungen liefern ablauffähige Tests gegen den tatsächlichen Anwendungscode
24.05.07
9
Demonstration am Beispiel einer algorithmuszentriertenKomponente: Ganzzahl-Division
FIT am BeispielExcel-Wertetabelle definieren
24.05.07
10
FIT am Beispiel
Excel-Wertetabelle definiert
24.05.07
11
FIT am BeispielFixture-Klasse
Adapter zwischen Anforderungen und Anwendung
24.05.07
12
FIT am Beispiel
Fixture-Klasse implementiert
24.05.07
13
Anforderungen + Fixture = Test
24.05.07
14
BeneFITs – Probleme gelöst?
• Anforderungen werden klarer, Transfer wird erleichtert– insbesondere bei gemeinsamer Erarbeitung der Wertetabelle
• Mißverständnissen wird vorgebeugt– Abgleich des mentalen Modells gegen die Beispiele (Quercheck)
• Vollständigkeit – positive Auswirkungen:– ergebnistreibende Parameter werden explizit dargestellt– Berücksichtigung des kompletten Wertebereichs
ergebnistreibender Parameter (Grenzwerte, Ausnahmefälle, was soll geschehen, wenn ein Wert undefiniert ist?)
weniger Defects in-Time, in-Budget zufriedene Fachseite erhöhte Chancen auf angemessene Architektur/Design
Reduktion der Projektrisiken
24.05.07
15
Weitere BeneFITs
• optimales Kosten-/Nutzen-Verhältnis– minimale Kosten (Overhead: Fixture-Klasse)– großer Nutzen– sofort einsetzbar
• Automatisierte Akzeptanztests sichere Refactorings
• Zusammenarbeit Fachseite/IT-Seite Teambildung
24.05.07
16
Zusammenfassung
Semantik (u. a. Anforderungen) läßt sich nur mit unverhältnismäßig
großem Aufwand eindeutig und vollständig beschreiben
Ziel: Lücken entdecken
Methode: Semantik aus verschiedenen Blickwinkeln betrachten:
Prosa
UML
Prototypen
Entscheidungstabellen
… und Framework for Integrated Test (FIT)
24.05.07
17
Quellen
• Ward Cunningham: http://fit.c2.com
• Frank Westphal: – http://www.frankwestphal.de/
TestgetriebeneEntwicklungmitJUnitundFIT.html
• JavaSPEKTRUM – Artikelserie von Mario Gleichmann und Pierre Feldbusch, NorCom
• Januar 2007: FIT für Akzeptanztests• März 2007: Automatisierte Akzeptanztests mit FIT