Framework for Integrated Test (FIT)

Slides:



Advertisements
Ähnliche Präsentationen
Metaanlysen klinischer Studien Rainer Schalnus
Advertisements

Migration von Feldbussen zu PROFINET
Funktionale Abhängigkeiten Konzept für einen Längsschnitt Anita Dorfmayr.
Empfehlungen Kurzfristig Mittelfristig Langfristig Prozesse
Forschungszentrum Informatik
Kooperationen Bildung-Wirtschaft
der Universität Oldenburg
Programmieren im Großen von Markus Schmidt und Benno Kröger.
Vorgehensmodell - Wasserfallmodell
Das „Vorgehensmodell“
Firmenname Geschäftsplan.
Bastian Cramer, Universität Paderborn Entwurfsmuster für Webanwendungen Projektgruppe: Generierung von Webanwendungen aus visuellen Spezifikationen.
Erschließen von semantischen Referenzen mit Ontology-Reasoning-Werkzeugen Das Ziel dieser Masterarbeit war die Erweiterung des ORBI Systems um ein Inferenz-System.
Vorgehensmodelle – Prototyping
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Interview-, Gesprächs- und Kreativitätstechniken
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
Risiken und Chancen Risiko Beurteilung: Dazu gehört die Identifikationen von Risiken, ihre Analyse und das Ordnen nach Prioritäten. Risiko Kontrolle: Dazu.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Beispiel 2: Iterative-Inkrementelle Vorgehensmodelle Annahmen: Anforderungen sind unvollständig.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Aufgaben des Testens Vergleich des Verhaltens einer Software mit den an sie gestellten.
Beispiel: Wasserfallmodell als einfaches Phasenmodell
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Imperative Programmierung Funktionen und Parameter
Bruchrechnung.
eXtreme Programming (XP)
Einführung von Groupware
XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover.
VFP Class Browser. © 1999 TMN-Systemberatung GmbH Einsatz des Class Browser n Managen von Klassen inklusive, ändern, umbenennen, löschen und umdefinieren.
Ein Wikibook für die Mathematik der SEK II Das Mathebuch 2.0.
Kompetenzentwicklung mit dem ProfilPASS in der beruflichen Bildung
Spezifikation von Anforderungen
Das Wasserfallmodell - Überblick
Übersicht Motivation Konzeption Umsetzung/ Implementierung
Security Scanner Design am Beispiel von httprecon
„Katalog und Bestell-Format
Einfache Automaten mit Lego Mindstorms praktisch umsetzen
Kollektionen in Java Aufzählungstypen, Generische Typen
„Buy and Make“ anstelle von „Make or Buy“
Prototypentwicklung für ein Testmanagementsystem
Copyright NorCom Information Technology AG Zentrale: Stefan-George-Ring 23, D München, Fon +49 – 89 – , Fax –111,
Mit 3 Schichte zum Erfolg
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Vorstellung des Projektergebnisses. Agenda I. Bla II. Änderungen beim Design III. Zeitliche Aufwände IV. Komplexität V. Produktpräsentation VI. Mögliche.
Nicolas Müggler, Trivadis AG Zürich, 26. Januar 2010
Archival and Discovery
NDK Enterprise Technologien Informationen Infrastruktur und Fallstudie Daniel Nydegger Studienleiter Enterprise System Entwicklung.
Performance-Testing als Basis für Performanceoptimierungen
SPODAT - Blick nach vorn
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
IT Kosten Reduzierung und effizientere Dienstleistungen Wir optimieren Strukturen und Prozesse und reduzieren dabei Ihre IT Kosten Ihr OPTICONSULT International.
22. Oktober 2007Martin Feldmann, 1 Bachelor-Thesis Entwicklung einer automatisierten Dokumentation von LabVIEW Quellcode für das Rahmenwerk.
Agenda Chancen der Kundenintegration Risiken der Kundenintegration
Wikis in der Projektarbeit
KOMPETENZORIENTIERTE MATHEMATIKSCHULARBEITEN MIT TECHNOLOGIE Mag. Gerhard Egger.
Funktionale Abhängigkeiten
Agile Softwareentwicklung
Software Design Patterns
Mathematikunterricht (Informatikunterricht) mit Computern
Lexit.at Michael Hausenblas Semantische Darstellung und Abfrage von Rechtsnormen – IRIS 2004 Semantische Darstellung und Abfrage von Rechtsnormen am Beispiel.
KompetenzorientiertE mathematikSCHULARBEITEN mit technologie
Text Encoding Initiative Universität zu Köln Daten- und Metadatenstandards Seminarleitung: Patrick Sahle Seminarleitung: Patrick Sahle Referentin: Anna.
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.

Folie 1 Reiner Buzin, BfS + Marcus Briesen, disy, DOAG „Spatial Day“, Montag, 30. Mai 2016 GISterm Integration von disy GISterm in IMIS.
1 Lutz Ullrich SOA – serviceorientierte Architektur SOA – Was ist das?
XML-basierte Beschreibungssprachen für grafische Benutzerschnittstellen Seminarvortrag im Studiengang „Scientific Programming“ von Steffen Richter.
Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.
Use Cases Nico Wacker.
 Präsentation transkript:

Framework for Integrated Test (FIT) Customer Information Day, Norcom Frankfurt, 24.05.2007 Pierre Feldbusch, NorCom

Über mich Pierre Feldbusch Schwerpunkte Senior Consultant, NorCom Fon +49 (0)69-58996-0 pierre.feldbusch@norcom.de Schwerpunkte Java Enterprise Entwicklung Anforderungsentwicklung Testautomatisierung 0,5min 24.05.07

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 1 min – 1,5 min Wichtige Verständnisfragen bitte gleich stellen, Ergänzungsfragen bitte auf die Diskussion verschieben Teil 3 - IT: Pierre Feldbusch, NorCom BeneFITs aus IT-Sicht Zusammenfassung 24.05.07

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 2 min – 3,5 min Obwohl das Wort “Test” im Namen des Frameworks vorkommt, lege ich den Schwerpunkt auf die Anforderungsentwicklung, weil das m. E. der Haupteinsatzbereich ist. Oberstes Ziel: IT versteht die Anforderungen Ziel ist ein Modell-Transfer von der Fachseite zur IT-Seite – die IT muß das Geschäftsmodell verstehen. Deshalb muß man die fachlichen Zusammenhänge zunächst darstellen, um eine Basis für das Verständnis der fachlichen Anforderungen zu schaffen. Vorteil Vision aufzeigen: Bei gleichwertigen Designalternativen kann eine Vision den entscheidenden Impuls geben (ohne Zusatzkosten zu verursachen) 24.05.07

Anforderungsentwicklung 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 3 min – 6,5 min Formale Spezifikationen bergen Risiko der Verklausulierung durch einen hohen Abstraktionsgrad – d. h. alles korrekt beschrieben, aber niemand versteht es (weil das Big-Picture fehlt) Unterschiedlicher Background (Fachseite vs. IT-Seite) i. a. prallen zwei Welten aufeinander Unterschiedliche Sprache und Sprachverständnis Glossar hilft aber Gefahr besteht weiter Implizites Wissen wird weggelassen Problemfälle (Ausnahmefälle, Grenzwertbetrachtungen) werden in Fachkonzepten gern mal weggelassen, weil sie viel Zeit/Aufwand kosten und auch unangenehm sind (ähnlich wie Exception-Handling in SE-Projekten) Falsch verstanden … oftmals ist einem gar nicht bewußt, daß man etwas falsch versteht – man denkt, man hätte es verstanden Schlimmer als nicht-verstehen  Risiken gefährden den Projekterfolg 24.05.07

Anforderungsentwicklung Ideale Anforderung: Beschreibung durch mathematische Funktionen Vorteile: vollständig eindeutig konkret (leichter verständlich) abstrakt (nützlich bei nicht- diskreten Wertebereichen) 2 min – 8,5 min Wie sieht eine ideale Anforderung aus? eine Variante ist eine mathematische Beschreibung wie hier in Form einer Funktion Vollständig und eindeutig: für jeden Wert im Wertebereich kann ein genau ein Bildpunkt angegeben werden Konkret: man kann Beispielwerte berechnen Abstrakt: allgemeine Berechnungsvorschrift für den Bildpunkt – man kann für jeden Wert noch so ausgefallenen Wert aus dem Wertebereich den Bildpunkt berechnen ABER: diese Idealvorstellung trifft man in Praxis fast nie an Stattdessen müssen wir die Realität akzeptieren und Auswege aus diesem Dilemma finden Suche nach pragmatische Lösungen mit optimalem Kosten-/Nutzen- Verhältnis FIT ist eine dieser pragmatischen Lösungen vorstellen (es gibt noch viele, viele andere – Entscheidungstabellen, Prototypen, …) Quelle: Wikipedia.de  ABER: in vielen Einsatzbereichen zu aufwendig bzw. nicht möglich  24.05.07

Anforderungsentwicklung  pragmatische Anforderung: Wertetabelle Fachliches (mentales) Modell: Vorteile: immer einsetzbar eindeutig konkret entspricht menschl. Lernverhalten Quelle: Wikipedia.de Nachteile: unvollständig bei nicht-diskreten Wertebereichen  Äquivalenzklassenbildung Fehlinterpretationen sind möglich (Wertetabelle impliziert nicht Graph) 2,5 min – 11 min Es fällt uns vielleicht schwer, diese Kurve ad-hoc aufzuzeichnen oder sogar eine Berechnungsvorschrift anzugeben, ABER: wir können vermutlich für jeden x-Wert den entsprechenden y-Wert angeben Dadurch entsteht ein weniger formales Modell, aber ein praktikables – gemeinsam mit Prosa-Beschreibungen und UML-Diagrammen kann es viele Probleme beseitigen Bis jetzt nix wirklich neues, DENN: Zuhörer haben sicherlich schon desöfteren Beispiele zur Konkretisierung der Anforderungen eingesetzt ABER … jetzt werden diese Beispiele zu konkreten ablauffähigen Testfällen – und das fast ohne Zusatzaufwand   Wertetabelle: 24.05.07

Framework for Integrated Test (FIT) Idee und Konzeption  Wertetabellen aus den Anforderungen liefern ablauffähige Tests gegen den tatsächlichen Anwendungscode 3 min – 14 min FIT ist ein javabasiertes Open-Source-Framework 2 Aspekte: Anforderungsaspekt Testaspekt 24.05.07

FIT am Beispiel Excel-Wertetabelle definieren Demonstration am Beispiel einer algorithmuszentrierten Komponente: Ganzzahl-Division 2 min – 16 min Aufbau: Erste Zeile: technisch – später mehr Zweite Zeile: Benennung ergebnistreibender Parameter (Inputwerte) Benennung zu berechnender Werte (Outputwerte) Ab dritter Zeile: Beispieldaten Im besten Fall: Arbeiten Fach- und IT-Seite gemeinsam an der Wertetabelle, dann kann sich hieraus fruchtbarer Dialog hinsichtlich des Modellaustauschs ergeben der auch wesentlich effizienter als die One-way-Kommunikation über Spezifikationen oder eMails sind 24.05.07

FIT am Beispiel Excel-Wertetabelle definiert  0,5 min – 16,5 min 24.05.07

FIT am Beispiel Fixture-Klasse  Adapter zwischen Anforderungen und Anwendung 2 min – 18,5 min Hier kommt das FIT-Framework ins Spiel Abgeleitet von ColumnFixture ACHTUNG: es gibt noch andere Fixture-Klassen für andere Einsatzgebiete (z. B. Workflowkomponenten) Klassenname wurde im Excel-Sheet erwähnt Fixture-Klasse ist eine Java-Applikation (main-Methode) Enthält HTML-Testdaten Erzeugt HTML-Testergebnisse Spaltennamen der ergebnistreibenden Parameter sind public-Member (automatische Typkonvertierung) Nach setzen aller Inputwerte wird execute-Methode aufgerufen – hier Instanziierung des CalculationService (ich verwende zu Demonstrationszwecken einen CalculationService, der semantische Fehler und Laufzeitfehler erzeugt) ACHTUNG: ich habe hier absichtlich eine fehlerhafte Implementierung des „calculationService“ eingebaut – zur Veranschaulichung von Programmierfehlern 24.05.07

FIT am Beispiel Fixture-Klasse implementiert  0,5 min – 19 min 24.05.07

Anforderungen + Fixture = Test 2 min – 21 min Zu sehen ist Ergebnis der Fixture-Klasse Grün: Erwartungen entsprechen dem Ergebnis  Rot: Erwartungen entsprechen dem Ergebnis  - erwartetes und tatsächliches Ergebnis werden ausgegeben Entweder ist der Code falsch Oder die Erwartungen sind falsch (soll alles schon vorgekommen sein) Gelb: Laufzeitfehler während der Bearbeitung 24.05.07

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?) 3 min – 24 min weniger Defects  in-Time, in-Budget zufriedene Fachseite erhöhte Chancen auf angemessene Architektur/Design Reduktion der Projektrisiken 24.05.07

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 2 min – 26 min Weitere Vorteile: Unterstützung des Domain-Driven-Designs Teststatistik Motiviert Status Junit-Test nutzbar 24.05.07

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 1 min – 27 min … und Framework for Integrated Test (FIT) 24.05.07

Quellen Ward Cunningham: http://fit.c2.com Frank Westphal: http://www.frankwestphal.de/TestgetriebeneEntwicklungmitJUnit undFIT.html JavaSPEKTRUM Artikelserie von Mario Gleichmann und Pierre Feldbusch, NorCom Januar 2007: FIT für Akzeptanztests März 2007: Automatisierte Akzeptanztests mit FIT 24.05.07