Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 18 Publicité

Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

Télécharger pour lire hors ligne

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?

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?

Publicité
Publicité

Plus De Contenu Connexe

Les utilisateurs ont également aimé (20)

Publicité

Similaire à Universum der Testautomatisierung von Sven Schirmer, Maibornwolff (20)

Plus par MaibornWolff (11)

Publicité

Plus récents (20)

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

Notes de l'éditeur

  • 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.

×