+ All Categories
Home > Leadership & Management > Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

Universum der Testautomatisierung von Sven Schirmer, Maibornwolff

Date post: 17-Jul-2015
Category:
Upload: maibornwolff
View: 131 times
Download: 0 times
Share this document with a friend
18
Das Universum der Testautomatisierung Sven Schirmer, MaibornWolff GmbH © Gentside – nasa.gov
Transcript

Das Universum der TestautomatisierungSven Schirmer, MaibornWolff GmbH

© Gentside – nasa.gov

Testautomatisierung ist seit Jahrenauf 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 veenenbosthe netherlands

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

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

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

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

Realisierung und Durchführung: Hier ist Automatisierung am stärksten ausgeprägt

Oberflächen-tests

Last- & Performancetests

Schnittstellentests

Tests vonWebseiten

DB- & Migrations-tests

Integrationstests

funktionaleTests

Testen vonMobile Apps

Konformitäts-Tests

© Gentside – nasa.gov

Voraus-

setzungen

Nutzen-

AbwägungSE-getriebenes

Vorgehen

Auswahl

der Tools

dauerhafte

Erfolgsfaktoren

Erfolgreich Durchstarten mit geplantem und strukturierten Vorgehen

© Gentside – nasa.gov

Nutzenabwägung:Am einfachsten ist es automatisierte und manuelle Testdurchführung gegenüberzustellen.

𝑅𝑂𝐼 =𝐸𝑟𝑙ö𝑠−𝐼𝑛𝑣𝑒𝑠𝑡𝑖𝑡𝑖𝑜𝑛𝑒𝑛

𝐼𝑛𝑣𝑒𝑠𝑡𝑖𝑡𝑖𝑜𝑛𝑒𝑛=

𝐾𝑜𝑠𝑡𝑒𝑛𝑒𝑖𝑛𝑠𝑝𝑎𝑟𝑢𝑛𝑔 𝐾𝑒𝑖𝑛𝑒 𝑚𝑎𝑛𝑢𝑒𝑙𝑙𝑒𝑛 𝑇𝑒𝑠𝑡𝑠 − 𝐾𝑜𝑠𝑡𝑒𝑛 𝐴𝑢𝑡𝑜𝑚𝑎𝑡𝑖𝑠𝑖𝑒𝑟𝑢𝑛𝑔 (𝐼𝑛𝑖𝑡𝑖𝑎𝑙+𝑇𝑒𝑠𝑡𝑑𝑢𝑟𝑐ℎ𝑓üℎ𝑟𝑢𝑛𝑔)

𝐾𝑜𝑠𝑡𝑒𝑛 𝐴𝑢𝑡𝑜𝑚𝑎𝑡𝑖𝑠𝑖𝑒𝑟𝑢𝑛𝑔 (𝐼𝑛𝑖𝑡𝑖𝑎𝑙+𝑇𝑒𝑠𝑡𝑑𝑢𝑟𝑐ℎ𝑓üℎ𝑟𝑢𝑛𝑔)

Multi Channel Store

ROI-

RechnerReturn-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 ScriptsNutzen-

abwägung in

einem

Projekte© Gentside – nasa.gov

Voraussetzungen:Mit Bedacht auswählen welche Tests wann automatisiert werden sollen

wenige Wiederholungen

ko

mp

lexe

Te

sts

ein

fach

eTe

sts

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

Auswahl der Tools:Automatisierungstools müssen dem Einsatzzweck angemessen sein

Anfor-

derungen

aufstellen

Markt-

übersicht

verschaffen

Vorauswahl &

Pilotierung

Review der

ErgebnisseEntscheidung

Evaluation

Daimler

© AstroTerry – nasa.gov

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

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

1. Stufe: Capture & Replay

2. Stufe: Data Driven Testing

3. Stufe: Function Libraries

4. Stufe: Keyword Driven Testing

5. Stufe: Object Oriented

Software Engineering getriebenes Vorgehen:Automatisierungsarchitekturen durchlaufen verschiedene Entwicklungsstufen

© Barry Wilmore–nasa.gov

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

IAPI

System

VM

VM

ALM

AL

M-A

da

pte

r

TA

-AP

I

Administrator-Oberfläche

GU

IAPI

System

TA

-AP

I

GU

IAPI

System

TA

-AP

I

zentrales

Framework

Daimler

© Gentside – nasa.gov

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

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

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


Recommended