Modellgetriebene FIT-Tests
                am Beispiel XMLFit
               Test Tage 2009


 XMLFit


FIT Selenium
Agenda
Agenda
• Teil I - Einführung in FIT
   – Testen mit Fit Tabellen
   – Fit Tabellen und Applikation verknüpfen
Agenda
• Teil I - Einführung in FIT
   – Testen mit Fit Tabellen
   – Fit Tabellen und Applikation verknüpfen

• Teil II -...
Agenda
• Teil I - Einführung in FIT
   – Testen mit Fit Tabellen
   – Fit Tabellen und Applikation verknüpfen

• Teil II -...
Agenda
• Teil I - Einführung in FIT
   – Testen mit Fit Tabellen
   – Fit Tabellen und Applikation verknüpfen

• Teil II -...
Überblick Fit - Framework for
      Integrated Tests
Überblick Fit - Framework for
         Integrated Tests
• FIT wurde entwickelt von Ward
  Cunningham WIKI-Erfinder...
Überblick Fit - Framework for
         Integrated Tests
• FIT wurde entwickelt von Ward
  Cunningham WIKI-Erfinder...
• Mot...
Überblick Fit - Framework for
         Integrated Tests
• FIT wurde entwickelt von Ward
  Cunningham WIKI-Erfinder...
• Mot...
Testen mit Fit Tabellen
• Fit Tests für den Beispiel Zinsrechner
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle



     Betrag
       10
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle



     Betrag       Zinssatz
       10            2.5
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle



    Betrag      Zinssatz    Laufzeit
      10          2....
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle



   Betrag   Zinssatz Laufzeit Summe
     10       2.5    ...
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle




   Betrag   Zinssatz Laufzeit Summe()
     10       2.5 ...
Testen mit Fit Tabellen
   • Fit Tests als ColumnFixture Tabelle




           Betrag   Zinssatz Laufzeit Summe()
Testfal...
Testen mit Fit Tabellen
   • Fit Tests als ColumnFixture Tabelle

      Eingehende - Werte


           Betrag   Zinssatz ...
Testen mit Fit Tabellen
   • Fit Tests als ColumnFixture Tabelle

                                   Prüfung eines Ergebni...
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle


   Betrag     Zinssatz Laufzeit Summe()
     10         2....
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle
 Applikation Anbindung (Java Klasse)
                       ...
Testen mit Fit Tabellen
• Fit Tests als ColumnFixture Tabelle
Testen mit Fit Tabellen
 • Fit Tests als ColumnFixture Tabelle




Gelb =Ausnahme - Fehler im Test
Testen mit Fit Tabellen
 • Fit Tests als ColumnFixture Tabelle




Gelb =Ausnahme - Fehler im Test
                       ...
Testen mit Fit Tabellen
 • Fit Tests als ColumnFixture Tabelle
                             Rot = Fehler in der Anwendung
...
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle

     fit.ActionFixture
     start     ZinsenActionFixture
   ...
Testen mit Fit Tabellen
 • Fit Test als ActionFixture Tabelle
Befehle / Kommandos
        fit.ActionFixture
        start  ...
Testen mit Fit Tabellen
 • Fit Test als ActionFixture Tabelle
Befehle / Kommandos
        fit.ActionFixture
        start  ...
Testen mit Fit Tabellen
 • Fit Test als ActionFixture Tabelle
Befehle / Kommandos
        fit.ActionFixture
        start  ...
Testen mit Fit Tabellen
   • Fit Test als ActionFixture Tabelle
Befehle / Kommandos
           fit.ActionFixture
          ...
Testen mit Fit Tabellen
   • Fit Test als ActionFixture Tabelle
Befehle / Kommandos
                          Anbindung an...
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle




                         Prüfung
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle



                         Eingaben




                    ...
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle



                         Eingaben


                      ...
Testen mit Fit Tabellen
• Fit Test als ActionFixture Tabelle


                         Anwendung Starten

               ...
Testen mit Fit Tabellen
• Weiteres Beispiel für eine ActionFixture
  Tabelle
 fit.ActionFixture
 start      jugs.Zinsrechne...
Testen mit Fit Tabellen
      • Mengen testen mit RowFixture Tabellen
Jugs.TeilnehmerListe

Titel                         ...
Testen mit Fit Tabellen
    • Geordnete Listen testen mit RowFixture
      Tabellen

Jugs.TeilnehmerListe

Nr    Titel    ...
Testen mit Fit Tabellen
• Testen mit Sequenzen von Tabelle
 Beispiel Fit Test ... fit.ActionFixture
                      ...
Fit Tabellen und Applikation
             verknüpfen
• Fit Design – drei Klassen Framework ...




          ?           ?...
• Fit Design – drei Klassen Framework
Fit Tabellen und Applikation
             verknüpfen
• Fit Design – Fixtures
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ColumnFixture entwickeln

   onlinerechner.ZinsenFixture...
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ColumnFixture
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ColumnFixture

                              SUT
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ColumnFixture

                                 SUT
    ...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {

       private Zinsen zinsen = new Zin...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {   Basis Klasse
                        ...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {   Basis Klasse
                        ...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {   Basis Klasse
                        ...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {   Basis Klasse
                        ...
• Beispiel Code - ColumnFixture
public class ZinsenFixture extends ColumnFixture {   Basis Klasse
                        ...
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ActionFixture entwickeln

 fit.ActionFixture
 start    on...
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ActionFixture entwickeln

 fit.ActionFixture    GOF - Dek...
Fit Tabellen und Applikation
             verknüpfen
• Beispiel - ActionFixture entwickeln
• Beispiel Code - ActionFixture
public class ZinsenActionFixture extends Fixture {
       Zinsen zinsen = new Zinsen();
  ...
• Beispiel Code - ActionFixture
public class ZinsenActionFixture extends Fixture {
       Zinsen zinsen = new Zinsen();
  ...
• Beispiel Code - ActionFixture
public class ZinsenActionFixture extends Fixture {
       Zinsen zinsen = new Zinsen();
  ...
• Beispiel Code - ActionFixture
public class ZinsenActionFixture extends Fixture {
       Zinsen zinsen = new Zinsen();
  ...
Fit Tabellen und Applikation
              verknüpfen
• Fixture dekorieren
 fit.AliasFixture
 mappin mappingAlias.xml
 star...
Fit Tabellen und Applikation
              verknüpfen
• Fixture dekorieren
                        GOF - Dekorierer-Muster...
Fit Tabellen und Applikation
              verknüpfen
                       fit.AliasFixture

• Fixture dekorieren   mappi...
Fit Tabellen und Applikation
               verknüpfen
                                      fit.AliasFixture

• Fixture de...
Fit Tabellen und Applikation
                verknüpfen
                                      fit.AliasFixture

• Fixture d...
Fit Tabellen und Applikation
                verknüpfen
                                      fit.AliasFixture

• Fixture d...
Fit Test Abdeckung
• Statement Coverage
• Branch Coverage

• Werkzeuge
  – Emma
  – Cobertura
Fit Test Abdeckung
Agenda
• Teil I - Einführung FIT
  – Testen mit Fit Tabellen
  – Fit Tabellen und Applikation verknüpfen

• Teil II - Weba...
Einführung in Selenium

      Selenium Core




Selenium         Selenium RC
   IDE
Selenium Core
• Selenium Core - Beispiel Zinsrechner


open            /JugsBase/zinsrechner.jsp
type            betrag   ...
Selenium Core
• Selenium Core - Beispiel Zinsrechner
                   Action - Tabelle
Selenium Befehl
open            /...
Selenium IDE
• Selenium IDE-
  Capture &
  Replay Tests


    Action Tabelle
Selenium Remote Control

              Selenium Server
                                   Browser
                        ...
Selenium Remote Control
• Selenium RC- JUnit Beispiel Zinsrechner

@Test
public void testZinsenBerechnen() throws Exceptio...
Selenium Remote Control
• Fit und Selenium RC mittels allgemeinem
  Selenium Fixture
fit. SeleniumFixture
open            /...
Selenium Remote Control
• Selenium RC- Selenium Fixture für Fit
...
public void type(Argument selektor, Argument arg) thro...
Selenium Remote Control
• Selenium RC in Fit Fixture – Beispiel
  ColumnFixture

 onlinerechner.SeleniumZinsenFixtur
 e et...
Selenium Remote Control
• Selenium RC- Fit Beispiel Zinsrechner
...
public String summe() {
        selenium.open("/JugsBa...
Agenda
• Teil I - Einführung FIT
  – Testen mit Fit Tabellen
  – Fit Tabellen und Applikation verknüpfen

• Teil II - Weba...
Einführung in XMLFit
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
  – Nachvollziehbarkeit: Testdaten und
    Testablauf sind...
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
  – Nachvollziehbarkeit: Testdaten und
    Testablauf sind...
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
  – Nachvollziehbarkeit: Testdaten und
    Testablauf sind...
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
  – Nachvollziehbarkeit: Testdaten und
    Testablauf sind...
Einführung in XMLFit
• Warum Fit als Framework für Systemtests?
  – Nachvollziehbarkeit: Testdaten und
    Testablauf sind...
Einführung in XMLFit
Einführung in XMLFit
• Nachteile von Fit als Motivation
Einführung in XMLFit
• Nachteile von Fit als Motivation
  – Tests mittels HTML formulieren ist sehr
    umständlich und un...
Einführung in XMLFit
• Nachteile von Fit als Motivation
  – Tests mittels HTML formulieren ist sehr
    umständlich und un...
Einführung in XMLFit
• Nachteile von Fit als Motivation
  – Tests mittels HTML formulieren ist sehr
    umständlich und un...
Einführung in XMLFit
• Nachteile von Fit als Motivation
  – Tests mittels HTML formulieren ist sehr
    umständlich und un...
Einschub – Überblick Fitnesse
• Fitnesse – Testen mittels Wiki und Fit


 |ZinsenTestFixture|
 |betrag|zinsatz|laufzeit|su...
Einschub – Überblick Fitnesse
• Fitnesse – Testen mittels Wiki und Fit
 Column-Fixture-Tabelle

 |ZinsenTestFixture|
 |bet...
Einschub – Überblick Fitnesse
• Fitnesse – Testen mittels Wiki und Fit
 Column-Fixture-Tabelle

 |ZinsenTestFixture|
 |bet...
Einschub – Überblick Fitnesse
Einschub – Überblick Fitnesse
Einschub – Überblick Fitnesse
• Vorteile von Fitnesse
Einschub – Überblick Fitnesse
• Vorteile von Fitnesse
  – DSL für HTML Tests einfacher klassische HTML
    Fit Tests
Einschub – Überblick Fitnesse
• Vorteile von Fitnesse
  – DSL für HTML Tests einfacher klassische HTML
    Fit Tests
  – W...
Einschub – Überblick Fitnesse
• Vorteile von Fitnesse
  – DSL für HTML Tests einfacher klassische HTML
    Fit Tests
  – W...
Einschub – Überblick Fitnesse
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
  – ...
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
  – ...
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
  – ...
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
  – ...
Einschub – Überblick Fitnesse
• Nachteile von Fitnesse
  – Debugging der Fixture und der Tests nur remote
    möglich
  – ...
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests




                     XML Model
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests                    FIT Tests




                    ...
Einführung in XMLFit
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
  – DSL aus der die HTML Tests generiert werden
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
  – DSL aus der die HTML Tests generiert werden
  – X...
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
  – DSL aus der die HTML Tests generiert werden
  – X...
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
  – DSL aus der die HTML Tests generiert werden
  – X...
Einführung in XMLFit
• XMLFit einen XML basierte DSL für Fit
  Tests
  – DSL aus der die HTML Tests generiert werden
  – X...
XMLFit Design
• Version 0.0.1
   – XSLT basierende Transformation
• Version 0.0.2
   – OAW basierende Transformation

 XSL...
Einführung in XMLFit
• Einfaches Beispiel Zinsrechner:
Einführung in XMLFit
• Einfaches Beispiel Zinsrechner:
   <actionFixture type="fit.SeleniumFixture">
           <command n...
Einführung in XMLFit
• Einfaches Beispiel Zinsrechner:

...
<test id="001" name="Zinsen">
        <testStep file="example-...
Einführung in XMLFit
• Beispiel Zinsrechner mit getrennten
  Testdaten:
<actionFixture type="fit.SeleniumFixture">
...
   ...
• Beispiel Zinsrechner mit getrennten
  Testdaten:
<test id="002" name="Zinsen">
         <testStep file="example-zinsrech...
Einführung in XMLFit
• Beispiel Zinsrechner mit getrennten
  Testdaten:
...
<test id="002" name="Zinsen">
         <testSt...
Einführung in XMLFit
• Beispiel Zinsrechner mit getrennten
  Testdaten:
<data>
          <dataSet>
                 <betra...
Einführung in XMLFit
• Mehre Tests als Tabellen Sequenzen aus
  Daten generieren
<test id="004" name="Zinsen">
         <t...
Agenda
• Teil I - Einführung FIT
  – Testen mit Fit Tabellen
  – Fit Tabellen und Applikation verknüpfen

• Teil II - Weba...
Einführung in Übungsaufgabe
• Eclipse Projekt einrichten mit Maven
  „mvn eclipse:eclipse“
• XMLFit Tests oder Fit Tests a...
Fragen & Diskussion




        ?
Referenzen

• Fit for Developing
  Software - Rick
  Mugridge und Ward
  Cunningham
Referenzen
• xUnit Test Patterns
  (Refactoring Test
  Code)- Gerard
  Meszaros
Referenzen

• Beautiful Code -
  Michael Feathers:
  Framework for
  Integrated Test: Beauty
  through Fragility, et al.
Werkzeuge
Links zu Werkzeugen:
  FIT - http://fit.c2.com/
  Selenium - http://seleniumhq.org/
  JUnit 4.X - http://www.juni...
Nächste SlideShare
Wird geladen in …5
×

2009 - Modell getriebene fit tests

758 Aufrufe

Veröffentlicht am

A german talk about FIT.

Veröffentlicht in: Technologie, Bildung
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
758
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
7
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
























































































































































  • 2009 - Modell getriebene fit tests

    1. 1. Modellgetriebene FIT-Tests am Beispiel XMLFit Test Tage 2009 XMLFit FIT Selenium
    2. 2. Agenda
    3. 3. Agenda • Teil I - Einführung in FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen
    4. 4. Agenda • Teil I - Einführung in FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen mit Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture)
    5. 5. Agenda • Teil I - Einführung in FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen mit Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture) • Teil III - Einführung in XMLFit – Fitnesse – Testen mittels Wiki und Fit – XMLFit – Fit Tests mit XML DSL entwickeln
    6. 6. Agenda • Teil I - Einführung in FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen mit Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture) • Teil III - Einführung in XMLFit – Fitnesse – Testen mittels Wiki und Fit – XMLFit – Fit Tests mit XML DSL entwickeln • Übungsaufgabe
    7. 7. Überblick Fit - Framework for Integrated Tests
    8. 8. Überblick Fit - Framework for Integrated Tests • FIT wurde entwickelt von Ward Cunningham WIKI-Erfinder...
    9. 9. Überblick Fit - Framework for Integrated Tests • FIT wurde entwickelt von Ward Cunningham WIKI-Erfinder... • Motivation von Fit Tests – Automatisierung von Akzeptanztests mittels Tabellen – Framework für Datengetriebene Tests – Data-Driven-Test (xUnit Test Patterns - Gerard Meszaros)
    10. 10. Überblick Fit - Framework for Integrated Tests • FIT wurde entwickelt von Ward Cunningham WIKI-Erfinder... • Motivation von Fit Tests – Automatisierung von Akzeptanztests mittels Tabellen – Framework für Datengetriebene Tests – Data-Driven-Test (xUnit Test Patterns - Gerard Meszaros) • Fit Design - Open Framework – Beautiful Code beschreibt in „Fit Tests- BEAUTY THROUGH FRAGILITY“ das Design von Fit als ein Open
    11. 11. Testen mit Fit Tabellen • Fit Tests für den Beispiel Zinsrechner
    12. 12. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag 10
    13. 13. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz 10 2.5
    14. 14. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz Laufzeit 10 2.5 2
    15. 15. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz Laufzeit Summe 10 2.5 2 10.51
    16. 16. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz Laufzeit Summe() 10 2.5 2 10.51
    17. 17. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz Laufzeit Summe() Testfall 10 2.5 2 10.51
    18. 18. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Eingehende - Werte Betrag Zinssatz Laufzeit Summe() Testfall 10 2.5 2 10.51
    19. 19. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Prüfung eines Ergebnis Eingehende - Werte Betrag Zinssatz Laufzeit Summe() Testfall 10 2.5 2 10.51
    20. 20. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Betrag Zinssatz Laufzeit Summe() 10 2.5 2 10.51 10 10 3 25.94 10 10 10 100000 ... ... ... ... Testfälle
    21. 21. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Applikation Anbindung (Java Klasse) Prüfung des Ergebnis Eingehende - Werte onlinerechner.ZinsenFixture Betrag Zinssatz Laufzeit Summe() 10 2.5 2 10.51 10 10 3 25.94 10 10 10 100000 ... ... ... ... Testfälle
    22. 22. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle
    23. 23. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Gelb =Ausnahme - Fehler im Test
    24. 24. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Gelb =Ausnahme - Fehler im Test Grün = erfolgreicher Test
    25. 25. Testen mit Fit Tabellen • Fit Tests als ColumnFixture Tabelle Rot = Fehler in der Anwendung Gelb =Ausnahme - Fehler im Test Grün = erfolgreicher Test
    26. 26. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle fit.ActionFixture start ZinsenActionFixture enter Betrag 10 enter Zinssatz 2,5 enter Laufzeit 2 press Submit check Summe 10,51
    27. 27. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Befehle / Kommandos fit.ActionFixture start ZinsenActionFixture enter Betrag 10 enter Zinssatz 2,5 enter Laufzeit 2 press Submit check Summe 10,51
    28. 28. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Befehle / Kommandos fit.ActionFixture start ZinsenActionFixture enter Betrag 10 Argumente enter Zinssatz 2,5 enter Laufzeit 2 press Submit check Summe 10,51
    29. 29. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Befehle / Kommandos fit.ActionFixture start ZinsenActionFixture enter Betrag 10 Argumente enter Zinssatz 2,5 enter Laufzeit 2 press Submit check Summe 10,51 Objekt / Auswahl / Target
    30. 30. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Befehle / Kommandos fit.ActionFixture start ZinsenActionFixture enter Betrag 10 Argumente enter Zinssatz 2,5 Testfall enter Laufzeit 2 press Submit check Summe 10,51 Objekt / Auswahl / Target
    31. 31. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Befehle / Kommandos Anbindung an die Applikation (Java) fit.ActionFixture start ZinsenActionFixture enter Betrag 10 Argumente enter Zinssatz 2,5 Testfall enter Laufzeit 2 press Submit check Summe 10,51 Objekt / Auswahl / Target
    32. 32. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle
    33. 33. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Prüfung
    34. 34. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Eingaben Prüfung
    35. 35. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Eingaben Aktion - Zinsen Berechnen Prüfung
    36. 36. Testen mit Fit Tabellen • Fit Test als ActionFixture Tabelle Anwendung Starten Eingaben Aktion - Zinsen Berechnen Prüfung
    37. 37. Testen mit Fit Tabellen • Weiteres Beispiel für eine ActionFixture Tabelle fit.ActionFixture start jugs.Zinsrechner enter Betrag 0 enter Zinssatz 2,5 enter Laufzeit 0 press Submit check Fehler Kein gültiger Betrag check Fehler Keine gültige Laufzeit
    38. 38. Testen mit Fit Tabellen • Mengen testen mit RowFixture Tabellen Jugs.TeilnehmerListe Titel Author Keynote - Wie ich lernte, das Johannes Link Testen zu lieben Glass-Box-Test zur Testsuite- Rainer Schmidberger Optimierung Wertvolle Unittests durch DSL Ulf Müller orientiertes API Design ... ...
    39. 39. Testen mit Fit Tabellen • Geordnete Listen testen mit RowFixture Tabellen Jugs.TeilnehmerListe Nr Titel Author 1 Keynote - Wie ich lernte, das Testen zu Johannes Link lieben 2 Glass-Box-Test zur Testsuite- Rainer Optimierung Schmidberger 3 Wertvolle Unittests durch DSL Ulf Müller orientiertes API Design ... ...
    40. 40. Testen mit Fit Tabellen • Testen mit Sequenzen von Tabelle  Beispiel Fit Test ... fit.ActionFixture start jugs.TestTageAnmel enter den name Baranows enter Titel Fit ki Tests pressSubmit Submit chec einladung true k Jugs.TeilnehmerListe Titel Author Keynote - Wie ich lernte, Johannes Link das Testen zu lieben Glass-Box-Test zur Rainer Schmidberger Testsuite-Optimierung Ulf Müller Wertvolle Unittests durch DSL orientiertes API Design ... ...
    41. 41. Fit Tabellen und Applikation verknüpfen • Fit Design – drei Klassen Framework ... ? ? ?
    42. 42. • Fit Design – drei Klassen Framework
    43. 43. Fit Tabellen und Applikation verknüpfen • Fit Design – Fixtures
    44. 44. Fit Tabellen und Applikation verknüpfen • Beispiel - ColumnFixture entwickeln onlinerechner.ZinsenFixture Betrag Zinssatz Laufzeit Summe() 10 2,5 2 10,51 10 10 3 25,94 20 10 10 100000 ... ... ... ...
    45. 45. Fit Tabellen und Applikation verknüpfen • Beispiel - ColumnFixture
    46. 46. Fit Tabellen und Applikation verknüpfen • Beispiel - ColumnFixture SUT
    47. 47. Fit Tabellen und Applikation verknüpfen • Beispiel - ColumnFixture SUT Anbindung an SUT
    48. 48. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { private Zinsen zinsen = new Zinsen(); public double betrag; public double zinsatz; public double laufzeit; public double summe() { zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); return zinsen.berechneZinsen(); } }
    49. 49. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { Basis Klasse für private Zinsen zinsen = new Zinsen(); Fit Extension public double betrag; public double zinsatz; public double laufzeit; public double summe() { zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); return zinsen.berechneZinsen(); } }
    50. 50. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { Basis Klasse für private Zinsen zinsen = new Zinsen(); Fit Extension public double betrag; SUT public double zinsatz; public double laufzeit; public double summe() { zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); return zinsen.berechneZinsen(); } }
    51. 51. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { Basis Klasse für private Zinsen zinsen = new Zinsen(); Fit Extension public double betrag; SUT public double zinsatz; public double laufzeit; Eingehende - Werte public double summe() { zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); return zinsen.berechneZinsen(); } }
    52. 52. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { Basis Klasse für private Zinsen zinsen = new Zinsen(); Fit Extension public double betrag; SUT public double zinsatz; public double laufzeit; Eingehende - Werte public double summe() { Prüfung - Ausgabe zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); return zinsen.berechneZinsen(); } }
    53. 53. • Beispiel Code - ColumnFixture public class ZinsenFixture extends ColumnFixture { Basis Klasse für private Zinsen zinsen = new Zinsen(); Fit Extension public double betrag; SUT public double zinsatz; public double laufzeit; Eingehende - Werte public double summe() { Prüfung - Ausgabe zinsen.setBetrag(betrag); zinsen.setLaufzeit(laufzeit); zinsen.setZinssatz(zinsatz); Anbindung return zinsen.berechneZinsen(); an SUT } }
    54. 54. Fit Tabellen und Applikation verknüpfen • Beispiel - ActionFixture entwickeln fit.ActionFixture start onlinerechner.ZinsenActionFixtu enter re Betrag 10 enter Zinssatz 2,5 enter Laufzeit 2 press berechneZinsen check Summe 10,51
    55. 55. Fit Tabellen und Applikation verknüpfen • Beispiel - ActionFixture entwickeln fit.ActionFixture GOF - Dekorierer-Muster start onlinerechner.ZinsenActionFixtu enter re Betrag 10 enter Zinssatz 2,5 enter Laufzeit 2 press berechneZinsen check Summe 10,51
    56. 56. Fit Tabellen und Applikation verknüpfen • Beispiel - ActionFixture entwickeln
    57. 57. • Beispiel Code - ActionFixture public class ZinsenActionFixture extends Fixture { Zinsen zinsen = new Zinsen(); double summe; public void betrag(double betrag) { zinsen.setBetrag(betrag); } … public void berechneZinsen() { summe = zinsen.berechneZinsen(); } public double summe() { return summe; } }
    58. 58. • Beispiel Code - ActionFixture public class ZinsenActionFixture extends Fixture { Zinsen zinsen = new Zinsen(); double summe; public void betrag(double betrag) { zinsen.setBetrag(betrag); Eingaben / Enter } … public void berechneZinsen() { summe = zinsen.berechneZinsen(); } public double summe() { return summe; } }
    59. 59. • Beispiel Code - ActionFixture public class ZinsenActionFixture extends Fixture { Zinsen zinsen = new Zinsen(); double summe; public void betrag(double betrag) { zinsen.setBetrag(betrag); Eingaben / Enter } … public void berechneZinsen() { Aktion / Press summe = zinsen.berechneZinsen(); } public double summe() { return summe; } }
    60. 60. • Beispiel Code - ActionFixture public class ZinsenActionFixture extends Fixture { Zinsen zinsen = new Zinsen(); double summe; public void betrag(double betrag) { zinsen.setBetrag(betrag); Eingaben / Enter } … public void berechneZinsen() { Aktion / Press summe = zinsen.berechneZinsen(); } public double summe() { return summe; Ausgabe Prüfung / Check } }
    61. 61. Fit Tabellen und Applikation verknüpfen • Fixture dekorieren fit.AliasFixture mappin mappingAlias.xml start g fit.ActionFixture start Login enter username baranowski enter password test enter frageNochmal Nein press login check login sucessfull true
    62. 62. Fit Tabellen und Applikation verknüpfen • Fixture dekorieren GOF - Dekorierer-Muster fit.AliasFixture mappin mappingAlias.xml start g fit.ActionFixture start Login enter username baranowski enter password test enter frageNochmal Nein press login check login sucessfull true
    63. 63. Fit Tabellen und Applikation verknüpfen fit.AliasFixture • Fixture dekorieren mappin mappingAlias.xml g start fit.ActionFixture start Login enter username baranowski :AliasFixture enter password test enter frageNochmal Nein press login check login sucessfull true
    64. 64. Fit Tabellen und Applikation verknüpfen fit.AliasFixture • Fixture dekorieren mappin mappingAlias.xml g start fit.ActionFixture Erster Start und mapping Methoden start Login enter username baranowski :AliasFixture enter password test enter frageNochmal Nein press login check login sucessfull true :ActionFixture
    65. 65. Fit Tabellen und Applikation verknüpfen fit.AliasFixture • Fixture dekorieren mappin mappingAlias.xml g start fit.ActionFixture Erster Start und mapping Methoden start Login enter username baranowski :AliasFixture enter password test enter frageNochmal Nein press login check login sucessfull true :ActionFixture Zweiter Start :Login
    66. 66. Fit Tabellen und Applikation verknüpfen fit.AliasFixture • Fixture dekorieren mappin mappingAlias.xml g start fit.ActionFixture Erster Start und mapping Methoden start Login enter username baranowski :AliasFixture enter password test enter frageNochmal Nein press login check login sucessfull true :ActionFixture Zweiter Start :Login Eigenes Fixture username, password...
    67. 67. Fit Test Abdeckung • Statement Coverage • Branch Coverage • Werkzeuge – Emma – Cobertura
    68. 68. Fit Test Abdeckung
    69. 69. Agenda • Teil I - Einführung FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture) • Teil III - Einführung in XMLFit – Fitnesse – Testen mittels Wiki und Fit – XMLFit – Fit Tests mit XML DSL entwickeln
    70. 70. Einführung in Selenium Selenium Core Selenium Selenium RC IDE
    71. 71. Selenium Core • Selenium Core - Beispiel Zinsrechner open /JugsBase/zinsrechner.jsp type betrag 20.0 type zinsatz 22.0 type laufzeit 100.0 clickAndWait submit assertTextPrese 8649939365.27 Euro nt
    72. 72. Selenium Core • Selenium Core - Beispiel Zinsrechner Action - Tabelle Selenium Befehl open /JugsBase/zinsrechner.jsp type betrag 20.0 type zinsatz 22.0 Argumente type laufzeit 100.0 clickAndWait submit Target assertTextPrese 8649939365.27 Euro nt
    73. 73. Selenium IDE • Selenium IDE- Capture & Replay Tests Action Tabelle
    74. 74. Selenium Remote Control Selenium Server Browser Firefox, IE Selenium Core JAVA, PHP... SUT HTTP Proxy Webapplikation
    75. 75. Selenium Remote Control • Selenium RC- JUnit Beispiel Zinsrechner @Test public void testZinsenBerechnen() throws Exception { selenium.open("/JugsBase/zinsrechner.jsp"); selenium.type("betrag", "10.0"); selenium.type("zinssatz", "10.0"); selenium.type("laufzeit", "5.0"); selenium.click("submit"); selenium.waitForPageToLoad("30000"); assertTrue(selenium.isTextPresent("16.11 Euro")); }
    76. 76. Selenium Remote Control • Fit und Selenium RC mittels allgemeinem Selenium Fixture fit. SeleniumFixture open /JugsBase/zinsrechner.jsp type betrag 10.0 type zinssatz 10.0 type laufzeit 5.0 clickAndWait submit assertTextPrese 16.11 Euro nt
    77. 77. Selenium Remote Control • Selenium RC- Selenium Fixture für Fit ... public void type(Argument selektor, Argument arg) throws Exception { try { selenium.type(selektor.text(), arg.text()); } catch(Exception e) { exception(selektor, e); return; } right(selektor); right(arg); } ...
    78. 78. Selenium Remote Control • Selenium RC in Fit Fixture – Beispiel ColumnFixture onlinerechner.SeleniumZinsenFixtur e etrag Zinssatz Laufzeit Summe() B 10 2,5 2 10,51 10 10 3 25,94 20 10 10 100000 ... ... ... ...
    79. 79. Selenium Remote Control • Selenium RC- Fit Beispiel Zinsrechner ... public String summe() { selenium.open("/JugsBase/zinsrechner.jsp"); selenium.type("betrag", String.valueOf(betrag)); selenium.type("zinssatz", String.valueOf(zinssatz)); selenium.type("laufzeit", String.valueOf(laufzeit)); selenium.click("submit"); selenium.waitForPageToLoad("30000"); String summe = selenium.getText( "//table[@id='zinsergebnis']//tr[4]/td[2]"); return summe; } ...
    80. 80. Agenda • Teil I - Einführung FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture) • Teil III - Einführung in XMLFit – Fitnesse – Testen mittels Wiki und Fit – XMLFit – Fit Tests mit XML DSL entwickeln
    81. 81. Einführung in XMLFit
    82. 82. Einführung in XMLFit • Warum Fit als Framework für Systemtests?
    83. 83. Einführung in XMLFit • Warum Fit als Framework für Systemtests? – Nachvollziehbarkeit: Testdaten und Testablauf sind nicht getrennt!
    84. 84. Einführung in XMLFit • Warum Fit als Framework für Systemtests? – Nachvollziehbarkeit: Testdaten und Testablauf sind nicht getrennt! – Lesbarkeit: Tests können von der Fachabteilung verstanden werden und mit formuliert werden...
    85. 85. Einführung in XMLFit • Warum Fit als Framework für Systemtests? – Nachvollziehbarkeit: Testdaten und Testablauf sind nicht getrennt! – Lesbarkeit: Tests können von der Fachabteilung verstanden werden und mit formuliert werden... – Tests können zur Kommunikation mit dem Kunden dienen
    86. 86. Einführung in XMLFit • Warum Fit als Framework für Systemtests? – Nachvollziehbarkeit: Testdaten und Testablauf sind nicht getrennt! – Lesbarkeit: Tests können von der Fachabteilung verstanden werden und mit formuliert werden... – Tests können zur Kommunikation mit dem Kunden dienen – Plattformunabhängig: Testlogik (Implementierung) ist Plattformunabhängig
    87. 87. Einführung in XMLFit • Warum Fit als Framework für Systemtests? – Nachvollziehbarkeit: Testdaten und Testablauf sind nicht getrennt! – Lesbarkeit: Tests können von der Fachabteilung verstanden werden und mit formuliert werden... – Tests können zur Kommunikation mit dem Kunden dienen – Plattformunabhängig: Testlogik (Implementierung) ist Plattformunabhängig – Testergebnis kann direkt als Testprotokoll genutzt werden
    88. 88. Einführung in XMLFit
    89. 89. Einführung in XMLFit • Nachteile von Fit als Motivation
    90. 90. Einführung in XMLFit • Nachteile von Fit als Motivation – Tests mittels HTML formulieren ist sehr umständlich und unübersichtlich
    91. 91. Einführung in XMLFit • Nachteile von Fit als Motivation – Tests mittels HTML formulieren ist sehr umständlich und unübersichtlich – HTML mittels WYSIWYG schwierig
    92. 92. Einführung in XMLFit • Nachteile von Fit als Motivation – Tests mittels HTML formulieren ist sehr umständlich und unübersichtlich – HTML mittels WYSIWYG schwierig – Wiederverwendbare Komponenten, z.B. Login, nicht einfach möglich
    93. 93. Einführung in XMLFit • Nachteile von Fit als Motivation – Tests mittels HTML formulieren ist sehr umständlich und unübersichtlich – HTML mittels WYSIWYG schwierig – Wiederverwendbare Komponenten, z.B. Login, nicht einfach möglich – Testabläufe mit verschiedenen Testdaten nicht einfach modellierbar
    94. 94. Einschub – Überblick Fitnesse • Fitnesse – Testen mittels Wiki und Fit |ZinsenTestFixture| |betrag|zinsatz|laufzeit|summe?| |10|2.5|2|10.50625| |10|2.5|2|10|
    95. 95. Einschub – Überblick Fitnesse • Fitnesse – Testen mittels Wiki und Fit Column-Fixture-Tabelle |ZinsenTestFixture| |betrag|zinsatz|laufzeit|summe?| |10|2.5|2|10.50625| |10|2.5|2|10|
    96. 96. Einschub – Überblick Fitnesse • Fitnesse – Testen mittels Wiki und Fit Column-Fixture-Tabelle |ZinsenTestFixture| |betrag|zinsatz|laufzeit|summe?| |10|2.5|2|10.50625| |10|2.5|2|10| ...Etwas unübersichtlich bei vielen Daten ...
    97. 97. Einschub – Überblick Fitnesse
    98. 98. Einschub – Überblick Fitnesse
    99. 99. Einschub – Überblick Fitnesse • Vorteile von Fitnesse
    100. 100. Einschub – Überblick Fitnesse • Vorteile von Fitnesse – DSL für HTML Tests einfacher klassische HTML Fit Tests
    101. 101. Einschub – Überblick Fitnesse • Vorteile von Fitnesse – DSL für HTML Tests einfacher klassische HTML Fit Tests – WIKI, kann von verteilten Teams genutzt werden
    102. 102. Einschub – Überblick Fitnesse • Vorteile von Fitnesse – DSL für HTML Tests einfacher klassische HTML Fit Tests – WIKI, kann von verteilten Teams genutzt werden – Test Komponenten durch Page include
    103. 103. Einschub – Überblick Fitnesse
    104. 104. Einschub – Überblick Fitnesse • Nachteile von Fitnesse
    105. 105. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich
    106. 106. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich – Fixture bereitstellen
    107. 107. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich – Fixture bereitstellen – Kein so einfacher Test Report der archiviert werden kann
    108. 108. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich – Fixture bereitstellen – Kein so einfacher Test Report der archiviert werden kann – Hosting von Fitnesse
    109. 109. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich – Fixture bereitstellen – Kein so einfacher Test Report der archiviert werden kann – Hosting von Fitnesse – Testabdeckung kann nur schwierig gemessen werden
    110. 110. Einschub – Überblick Fitnesse • Nachteile von Fitnesse – Debugging der Fixture und der Tests nur remote möglich – Fixture bereitstellen – Kein so einfacher Test Report der archiviert werden kann – Hosting von Fitnesse – Testabdeckung kann nur schwierig gemessen werden – Für Daten getriebene Entwicklertests / Komponententests nicht geeignet
    111. 111. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests
    112. 112. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests XML Model
    113. 113. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests FIT Tests XML Model
    114. 114. Einführung in XMLFit
    115. 115. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests
    116. 116. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests – DSL aus der die HTML Tests generiert werden
    117. 117. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests – DSL aus der die HTML Tests generiert werden – XML da gute Tool-Unterstützung
    118. 118. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests – DSL aus der die HTML Tests generiert werden – XML da gute Tool-Unterstützung – Aus Testdaten mehre Fit Tests generieren über Variablen und DatenSets
    119. 119. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests – DSL aus der die HTML Tests generiert werden – XML da gute Tool-Unterstützung – Aus Testdaten mehre Fit Tests generieren über Variablen und DatenSets – Simpler Ansatz zur Testerzeugung
    120. 120. Einführung in XMLFit • XMLFit einen XML basierte DSL für Fit Tests – DSL aus der die HTML Tests generiert werden – XML da gute Tool-Unterstützung – Aus Testdaten mehre Fit Tests generieren über Variablen und DatenSets – Simpler Ansatz zur Testerzeugung – Dateibasierter Ansatz - XMLFit Tests können mittel SVN oder CVS verwaltet werden...
    121. 121. XMLFit Design • Version 0.0.1 – XSLT basierende Transformation • Version 0.0.2 – OAW basierende Transformation XSL Meta Modell XML FIT HTML OAW XML Modell
    122. 122. Einführung in XMLFit • Einfaches Beispiel Zinsrechner:
    123. 123. Einführung in XMLFit • Einfaches Beispiel Zinsrechner: <actionFixture type="fit.SeleniumFixture"> <command name="open"> <target>/JugsBase/zinsrechner.jsp</target> </command> <command name="type"> <target>betrag</target> <value>5.0</value> </command> ... <command name="assertTextPresent"> <target>25.94 Euro</target> </command> </actionFixture>
    124. 124. Einführung in XMLFit • Einfaches Beispiel Zinsrechner: ... <test id="001" name="Zinsen"> <testStep file="example-zinsrechner.xml" /> </test> ...
    125. 125. Einführung in XMLFit • Beispiel Zinsrechner mit getrennten Testdaten: <actionFixture type="fit.SeleniumFixture"> ... <command name="type"> <target>betrag</target> <value>${betrag}</value> </command> ... </actionFixture>
    126. 126. • Beispiel Zinsrechner mit getrennten Testdaten: <test id="002" name="Zinsen"> <testStep file="example-zinsrechner2.xml"> <property name="betrag" value="10"/> <property name="zinssatz" value="5"/> <property name="laufzeit" value="10"/> <property name="summe" value="24"/> </testStep> <testStep file="example-zinsrechner2.xml"> <property name="betrag" value="20"/> <property name="zinssatz" value="50"/> <property name="laufzeit" value="110"/> <property name="summe" value="241"/> </testStep> </test>
    127. 127. Einführung in XMLFit • Beispiel Zinsrechner mit getrennten Testdaten: ... <test id="002" name="Zinsen"> <testStep file="example-zinsrechner2.xml" data="example-data-zins.xml" /> </test> ...
    128. 128. Einführung in XMLFit • Beispiel Zinsrechner mit getrennten Testdaten: <data> <dataSet> <betrag>10</betrag> <laufzeit>10</laufzeit> <zinssatz>11</zinssatz> <summe>110</summe> </dataSet> </data>
    129. 129. Einführung in XMLFit • Mehre Tests als Tabellen Sequenzen aus Daten generieren <test id="004" name="Zinsen"> <testStep file="example-zinsrechner2.xml" data="example-data-zins.xml" /> <testStep file="example-zinsrechner2.xml"> <property name="betrag" value="10"/> <property name="zinssatz" value="5"/> <property name="laufzeit" value="10"/> <property name="summe" value="24"/> </testStep> </test>
    130. 130. Agenda • Teil I - Einführung FIT – Testen mit Fit Tabellen – Fit Tabellen und Applikation verknüpfen • Teil II - Webapplikation testen Fit und Selenium – Einführung in Selenium – Selenium in Fit Tests nutzen (Selenium Fixture) • Teil III - Einführung in XMLFit – Fitnesse – Testen mittels Wiki und Fit – XMLFit – Fit Tests mit XML DSL entwickeln • Übungsaufgabe
    131. 131. Einführung in Übungsaufgabe • Eclipse Projekt einrichten mit Maven „mvn eclipse:eclipse“ • XMLFit Tests oder Fit Tests ausführen mit „mvn test“ • Firefox Selenium IDE einrichten • Selenium RC Server starten • ...
    132. 132. Fragen & Diskussion ?
    133. 133. Referenzen • Fit for Developing Software - Rick Mugridge und Ward Cunningham
    134. 134. Referenzen • xUnit Test Patterns (Refactoring Test Code)- Gerard Meszaros
    135. 135. Referenzen • Beautiful Code - Michael Feathers: Framework for Integrated Test: Beauty through Fragility, et al.
    136. 136. Werkzeuge Links zu Werkzeugen: FIT - http://fit.c2.com/ Selenium - http://seleniumhq.org/ JUnit 4.X - http://www.junit.org/ Fitnesse - http://fitnesse.org/ OAW - http://www.openarchitectureware.org/ NVU – WYSIWYG HTML Editor: http://net2.com/nvu/ download.html XMLFIT - http://xmlfit.sourceforge.net/ Apache Maven - http://maven.apache.org/ Cobertura - http://cobertura.sourceforge.net/ EclEmma - http://www.eclemma.org/ Eclipse – http://www.eclipse.org

    ×