Das Universum
der Testautomatisierung
Sven Schirmer, MaibornWolff GmbH
© Gentside – nasa.gov
Testautomatisierung ist seit Jahren
auf dem Vormarsch
Kosten-
druck
Spezielles
Szenarien
Agile
Entwicklung
steigende
Kompl...
Automatisierung
wird meistens
unterschätzt
■
■
■
unreflektierte Nutzung
von Capture- & Replay
Automatisierer haben keine K...
Fundamentaler Testprozess –
Alle Phasen können mit Tools unterstützt
werden
ISTQB®
2012
Beginn
Planung,
Überwachung &
Steu...
Analyse & Entwurf:
Mit Model Based Testing Testfälle
generieren
Model Based Testing wird von
Model Based Design abgeleite...
Planung, Überwachung und
Steuerung:
Wissen, wo die Software steht
Test misst Software-Qualität und
ist Grundlage für die
...
Realisierung und Durchführung:
Hier ist Automatisierung am stärksten
ausgeprägt
Oberflächen-
tests
Last- &
Performancetest...
Voraus-
setzungen
Nutzen-
Abwägung
SE-getriebenes
Vorgehen
Auswahl
der Tools
dauerhafte
Erfolgsfaktoren
Erfolgreich Durchs...
Nutzenabwägung:
Am einfachsten ist es automatisierte und
manuelle Testdurchführung
gegenüberzustellen.
𝑅𝑂𝐼 =
𝐸𝑟𝑙ö𝑠−𝐼𝑛𝑣𝑒𝑠𝑡𝑖...
Voraussetzungen:
Mit Bedacht auswählen welche Tests
wann automatisiert werden sollen
wenige Wiederholungen
komplexeTests
e...
Auswahl der Tools:
Automatisierungstools müssen
dem Einsatzzweck angemessen
sein
Anfor-
derungen
aufstellen
Markt-
übersic...
 Pattern gibt es auch
für Tests
 4 Phase Test: Jeder Test
besteht aus Setup,
Excercise, Verify, Teardown
 Erratic Test:...
Quelle: martin fowler
(http://martinfowler.com/bliki/PageObject.html)
Software Engineering getriebenes Vorgehen:
Standards...
1. Stufe: Capture & Replay
2. Stufe: Data Driven Testing
3. Stufe: Function Libraries
4. Stufe: Keyword Driven Testing
5. ...
Software Engineering getriebenes
Vorgehen:
Testautomatisierungen können selber
komplexe Softwaresystem werden
Nightly
Buil...
Dauerhafte Erfolgsfaktoren:
Grundlagen für den Erfolg sind realistische
Erwartungen und ein professionelles
Vorgehen
Lösun...
Testautomatisierung ist
Software-Engineering!
KonzeptionPlanung Umsetzung
„In unserer heutigen digitalen Welt ist
jede Inf...
Verantwortung. Exzellenz.
Leidenschaft.
Alexander HofmannHolger WolffJens Rieger Volker Maiborn
 Frühe Phasen
 IT-Sanier...
Nächste SlideShare
Wird geladen in …5
×

Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

788 Aufrufe

Veröffentlicht am

Wieso ist Testautomatisierung in aller Munde? Der Vortrag fasst Eindrucke und Einschätzungen aus der Praxissicht zusammen:
- Was wird überhaupt alles unter dem Thema verstanden? - Wie gehe ich konkret vor?
- Welche Fragen sollte ich in einem Projekt beantworten können?

Veröffentlicht in: Leadership & Management
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
788
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
12
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • In meinem Gastvortrag werde ich Ihnen Einblicke in die Testautomatisierung aus der Praxissicht geben. Mein Team und ich haben in den vergangenen Jahren in vielen Projekten bei unterschiedlichen Kunden Eindrücke und Ansichten sammeln können. Auch meine ganz persönlichen Erfahrungen aus bald 15 Jahren in der IT möchte ich Ihnen gerne weitergeben.

    Was wird überhaupt alles unter dem Thema verstanden, wie gehe ich konkret vor und welche Fragen sollte ich in einem Projekt beantworten können?

    Beginnen möchte ich mit der Frage:
    Warum ist die Testautomatisierung zur Zeit in aller Munde?

  • Eine ganz zentrale Erfahrung von uns
  • Was ist denn eigentlich Testautomatisierung?
  • Unbekannte Art der TA: Automatisierung des Testentwurfes
    z.B. mit der imbus TestBench als TM Werkzeug und tedeso als MBT Tool
    Auch verschiedene andere Werkzeuge am Markt
  • Schnittstellentests: Webservices mit SoapUI, Einsatz von Stubs und Mocks um Umsysteme zu simulieren
    Integrationstest: E2E Prozessketten, auch über mehrere Systeme hinweg (v.a. wenn verschiedene Systeme integriert werden)
    Konformitätstests: z.B. Prüfung von erstellten XML Daten gegen Schemadaten oder fachliche Inhalte.
  • Worauf sollte ich bei einer TA achten?
  • Wichtige Frage: Nutzenabwägung. Die Entscheidung wird oft zu schnell gefällt.
    Projekt mit den verschiedenen Sichtweisen bringen (MediaSaturn)
    Grundlage für die ROI Berechnung, softe Faktoren wie Risikominimierung mit einrechnen
  • Kaufsoftware (typisch für klassische, große Kundenunternehmen: Daimler, BMW, SBB, Banken, ...)
    Open Source (typische für KMUs, insbesondere IT-Unternehmen)
    selber bauen (typisch für große IT-Unternehmen: ebay, google, Microsoft)
  • Mehr Pattern auf http://xunitpatterns.com/.
    Mocking-Framework „mockito“: https://code.google.com/p/mockito/
    Buildserver: jenkins

    Erratic Test: Schlägt mal fehl und mal nicht
    CI: Wichtig das 4 Phase Tests beachtet werden! Die Ausführungsreihenfolge ist bei J-Unit Tests nicht gewährleistet. Fiktives Beispiel bringen!
  • Schichtarchitektur auch bei TA!
    Webseite ist im Page-Object gekapselt
    Automatisierte Tests greifen auf das Object zu und nicht direkt auf die Webseite
    Wenn sich die Webseite ändert wird nur das Objekt angepasst und nicht alle jeder Testfall …
  • Stufe „Capture & Replay“: bestehende Testfälle werden mit Tools  aufgezeichnet und wiederholt abgespielt
    Stufe „Data Driven Testing“: Die Daten in automatisierten Tests werden variabel gemacht
    Stufe „Function Libraries“: aus den Testfällen werden wieder verwendbare Blöcke extrahiert
    Stufe „Keyword Driven Testing“: Schlüsselwörter für Fachtester lesbar externe Datenquellen für Testdaten
    Stufe Object Oriented Framwork: Modularisierung und strikte Anwendung von objektorientierten Entwicklungstechniken

    Ziel ist für unsere Kunden meistens Stufe 4, wegen der Einbindung der Fachexperten.
    Stufe 5 ist für Nicht-IT-Unternehmen oft eine Frage der Wirtschaftlichkeit, weil man sich hier meist eine ganze Abteilung gönnen muss, um die TA am fliegen zu halten.
  • in immer komplexeren Systemen übernimmt Testautomatisierung einfache, wiederholbare Tests.
    Menschen können sich auf komplexe Szenarien konzentrieren.
  • Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

    1. 1. Das Universum der Testautomatisierung Sven Schirmer, MaibornWolff GmbH © Gentside – nasa.gov
    2. 2. Testautomatisierung ist seit Jahren auf dem Vormarsch Kosten- druck Spezielles Szenarien Agile Entwicklung steigende Komplexität In immer komplexeren Systemen übernimmt die Automatisierung einfache, wiederholbare Tests. agile Softwareentwicklung verkürzt Entwicklungszyklen und braucht Automatisierung, um angemessene Testabdeckung zu gewährleisten. Manche Szenarien sind nur durch Automatisierung sinnvoll und wirtschaftlich abbildbar etwa ein Lasttest mit über 10.000 Nutzern. Von Automatisierung verspricht man sich sinkende Testkosten. © kees veenenbos the netherlands
    3. 3. Automatisierung wird meistens unterschätzt ■ ■ ■ unreflektierte Nutzung von Capture- & Replay Automatisierer haben keine Kenntnisse im Software-Engineering Es herrschen falsche Erwartungen an Funktionalität und Folgekosten © Gentside – nasa.gov
    4. 4. Fundamentaler Testprozess – Alle Phasen können mit Tools unterstützt werden ISTQB® 2012 Beginn Planung, Überwachung & Steuerung Analyse & Entwurf Realisierung & Durchführung Bewertung Endekriterien & Bericht Abschluss Ende © Photo ESO
    5. 5. Analyse & Entwurf: Mit Model Based Testing Testfälle generieren Model Based Testing wird von Model Based Design abgeleitet. Ein Modell beschreibt das zu testende System. Aus diesem Modell können automatisiert die Testfälle abgeleitet werden. Je abstrakter das Modell, desto abstrakter sind die Testfälle. Man spricht von logischen Testfällen.  Aus diesen werden die konkrete Testfälle abgeleitet, indem man Testdaten hinzufügt. Testfall- DB Testfall Generator © Photo ESO
    6. 6. Planung, Überwachung und Steuerung: Wissen, wo die Software steht Test misst Software-Qualität und ist Grundlage für die Produktivsetzung. Zu jedem Zeitpunkt im Test muss die bestmögliche Qualität sichergestellt sein. Man muss Trends erkennen, um Maßnahmen einleiten zu können. Basis für Kennzahlen und Berichte ist das Testmanagementtool. Oft sind Informationen auf verschiedene Tools verteilt oder nicht einheitlich abgreifbar. Dann müssen eigene, tragfähige Reporting- Lösungen entwickelt werden. Testberichte CreditPlus Bank AG © Gentside – nasa.gov
    7. 7. Realisierung und Durchführung: Hier ist Automatisierung am stärksten ausgeprägt Oberflächen- tests Last- & Performancetests Schnittstellentests Tests von Webseiten DB- & Migrations- tests Integrationstests funktionale Tests Testen von Mobile Apps Konformitäts- Tests © Gentside – nasa.gov
    8. 8. Voraus- setzungen Nutzen- Abwägung SE-getriebenes Vorgehen Auswahl der Tools dauerhafte Erfolgsfaktoren Erfolgreich Durchstarten mit geplantem und strukturierten Vorgehen © Gentside – nasa.gov
    9. 9. Nutzenabwägung: Am einfachsten ist es automatisierte und manuelle Testdurchführung gegenüberzustellen. 𝑅𝑂𝐼 = 𝐸𝑟𝑙ö𝑠−𝐼𝑛𝑣𝑒𝑠𝑡𝑖𝑡𝑖𝑜𝑛𝑒𝑛 𝐼𝑛𝑣𝑒𝑠𝑡𝑖𝑡𝑖𝑜𝑛𝑒𝑛 = 𝐾𝑜𝑠𝑡𝑒𝑛𝑒𝑖𝑛𝑠𝑝𝑎𝑟𝑢𝑛𝑔 𝐾𝑒𝑖𝑛𝑒 𝑚𝑎𝑛𝑢𝑒𝑙𝑙𝑒𝑛 𝑇𝑒𝑠𝑡𝑠 − 𝐾𝑜𝑠𝑡𝑒𝑛 𝐴𝑢𝑡𝑜𝑚𝑎𝑡𝑖𝑠𝑖𝑒𝑟𝑢𝑛𝑔 (𝐼𝑛𝑖𝑡𝑖𝑎𝑙+𝑇𝑒𝑠𝑡𝑑𝑢𝑟𝑐ℎ𝑓üℎ𝑟𝑢𝑛𝑔) 𝐾𝑜𝑠𝑡𝑒𝑛 𝐴𝑢𝑡𝑜𝑚𝑎𝑡𝑖𝑠𝑖𝑒𝑟𝑢𝑛𝑔 (𝐼𝑛𝑖𝑡𝑖𝑎𝑙+𝑇𝑒𝑠𝑡𝑑𝑢𝑟𝑐ℎ𝑓üℎ𝑟𝑢𝑛𝑔) Multi Channel Store ROI- Rechner Return-on-Investment (ROI): Renditekennzahl, gemessen am Gewinn im Verhältnis zum eingesetzten Kapital. Ein ROI >1 bedeutet, dass sich die Investitionen rentieren. Erlös: Errechnet sich aus dem Wegfall manueller Tests. Investition: 200 Scripts für Multi Channel, 750 Scripts für Store initlal erstellen, Aufwand für Durchführung und Pflege der Scripts Nutzen- abwägung in einem Projekte © Gentside – nasa.gov
    10. 10. Voraussetzungen: Mit Bedacht auswählen welche Tests wann automatisiert werden sollen wenige Wiederholungen komplexeTests einfacheTests viele Wiederholungen wenige, komplexe Tests Manuell Automatisiert viele einfache Tests Die Automatisierung sollte so früh wie möglich starten, besonders Oberflächentests setzen eine gewisse Grundreife voraus, zum Beispiel ein „Release 1“. Testautomatisierung ist prädestiniert für einfache, oft wiederholte Tests und in der Regel zu aufwändig für komplexe, selten durchgeführte Tests. In agilen Entwicklungsmodellen verschiebt das Koordinatenkreuz besonders für Entwickler-Tests zu Gunsten der Automatisierung. © Gentside – nasa.gov
    11. 11. Auswahl der Tools: Automatisierungstools müssen dem Einsatzzweck angemessen sein Anfor- derungen aufstellen Markt- übersicht verschaffen Vorauswahl & Pilotierung Review der Ergebnisse Entscheidung Evaluation Daimler © AstroTerry – nasa.gov
    12. 12.  Pattern gibt es auch für Tests  4 Phase Test: Jeder Test besteht aus Setup, Excercise, Verify, Teardown  Erratic Test: Test scheitert nicht deterministisch.  Wissen welcher Teil des Systems verfügbar ist  Nichtverfügbare Komponenten durch Stubs & Mocks ersetzen  Komponenten simulieren, um Testergebnisse zu kontrollieren  Bau, Installation und Testdurchführung erfolgen automatisch  Ausführung dedizierter Tests direkt bei Codeänderung, nächtlich alle Tests ausführen  Ergebnisse stehen aufbereitet auf dem Buildserver zur Verfügung Continuous Integration Stubs & Mocks Pattern & Antipattern Software Engineering getriebenes Vorgehen: Entwicklertests mit Struktur und Methode erstellen © Gentside – nasa.gov
    13. 13. Quelle: martin fowler (http://martinfowler.com/bliki/PageObject.html) Software Engineering getriebenes Vorgehen: Standards und Frameworks nutzen In der Testautomatisierung gibt es wie in der Softwareentwicklung Standards und Frameworks populäre Beispiele sind das Page Object Pattern und die Page Factory für Webseiten Viele Automatisierer, die mit Selenium arbeiten verwenden das Page Object Pattern Eine ausführliche Beschreibung findet man im Selenium-wiki. © Gentside – nasa.gov
    14. 14. 1. Stufe: Capture & Replay 2. Stufe: Data Driven Testing 3. Stufe: Function Libraries 4. Stufe: Keyword Driven Testing 5. Stufe: Object Oriented Vorgehen: Automatisierungsarchitekturen durchlaufen verschiedene Entwicklungsstufen © Barry Wilmore– nasa.gov
    15. 15. Software Engineering getriebenes Vorgehen: Testautomatisierungen können selber komplexe Softwaresystem werden Nightly Build dynamische Bedingungen statische Bedingungen Berichts- wesen Kommu- nikation Testver- teilung … Controller VM GU I API System VM VM ALM ALM-Adapter TA-API Administrator-Oberfläche GU I API System TA-API GU I API System TA-API zentrales Framework Daimler © Gentside – nasa.gov
    16. 16. Dauerhafte Erfolgsfaktoren: Grundlagen für den Erfolg sind realistische Erwartungen und ein professionelles Vorgehen Lösung nicht beherrscht Falsche Erwartungen qualifizierte Automatisier tragfähige Konzeption Timing der Umsetzung Umgebung ist instabil © Gentside – nasa.gov
    17. 17. Testautomatisierung ist Software-Engineering! KonzeptionPlanung Umsetzung „In unserer heutigen digitalen Welt ist jede Information nur einen Klick weit entfernt, viele unserer Freunde sind digital. Um aber wirklich etwas zu erleben muss man selbst den Schritt tun und es machen. Dann kann man wirklich mitreden!“ Zitat frei aus dem Film „The Art of Flight“, Red Bull TV © Gentside – nasa.gov
    18. 18. Verantwortung. Exzellenz. Leidenschaft. Alexander HofmannHolger WolffJens Rieger Volker Maiborn  Frühe Phasen  IT-Sanierung  Software Design & Development  Fahrzeug-IT  Mobile Engineering  Test-Management 4 Standorte 12 Mio Euro Umsatz 25 Jahre Erfahrung 135 Mitarbeiter Und jede Menge Herz- blut für Ihr IT-Projekt MaibornWolff GmbH | IT-Beratung & Software-Engineering | Theresienhöhe 13 | 80339 München | 089 544 253 000 | maibornwolff.de

    ×