PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and...

17
28.01.2016 1

Transcript of PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and...

Page 1: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

1

Page 2: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

2

Der „frühe Vogel“ im allgemeinen Sprachgebrauch

Der frühe Vogel……kann nicht testen!

ASQF Testing Day

Dr. Frank Simon V1.0 2016-01-28

Page 3: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

3

• BLUECARAT AG

• Mitglied GF

• Prokurist

• Leiter Business

Development

• BITKOM

• Leiter AK Architekturen

• Vorsitzender des LA Software

• German Testing Board

• Vorstand

5

Wer ich bin

• Warum überhaupt „früher Vogel“

◦ Nomenklatur

◦ Shift-Left

◦ DevOps

◦ Continuous [Integration|Delivery|Deployment]

• Probleme

◦ Wo sind meine Schnittstellen?

◦ Wie kriege ich Negativtests hin?

◦ Ich tue mal so….aber nicht wirklich

◦ Organisation

• Lösungen

◦ Von sukzessiver Re-Implementierung bis zur zentralen

Testinfrastruktur

• Zusammenfassung

6

Agenda

Page 4: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

4

• Nomenklatur

• Shift-Left

• DevOps

• Continuous [Integration|Delivery|Deployment]

8

• Testen: „Der Prozess, der aus allen Aktivitäten des Lebenszyklus besteht (sowohl

statisch als auch dynamisch), die sich mit der Planung, Vorbereitung und Bewertung

eines Softwareprodukts und dazugehöriger Arbeitsergebnisse befassen. Ziel des

Prozesses ist sicherzustellen, dass diese allen festgelegten Anforderungen genügen,

dass sie ihren Zweck erfüllen, und etwaige Fehlerzustände zu finden.” (GTB/ISTQB-Glossar)

• Testobjekt (TO): „Die Komponente oder das System, welches getestet wird”

(GTB/ISTQB-Glossar)

• Testumgebung (TU): “Eine Umgebung, die benötigt wird, um Tests auszuführen.

Sie umfasst Hardware, Instrumentierung, Simulatoren, Softwarewerkzeuge und andere

unterstützende Hilfsmittel.” (GTB/ISTQB-Glossar)

8

Nomenklatur

TO1 TO2

TO3 TO4

Testen TestumgebungTestobjekte

Page 5: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

5

9

„Früher Vogel“ via Shift-Left

Shift-Left

„“shift left is to place more

hard and risky work earlier in

the timeline where, if it does

not go as hoped, it leads to

less damage with more time

and options for repair “Wolfgang Platz: „BizTestDevOps“, Professional Tester ,

Vol2, number 17, October 2012

Mehr frühe Testobjekte

Mehr Testumgebungen

Mehr strukturorientierte Tests

10

„Früher Vogel“ via DevOps

Entwickler Tester Betrieb

DevOps

„Devops encourages cross-

silo collaboration constantly.

[…] Systems thinking advises

us to otpimize the whole“Patrick Debois in „Devops: A Software Revolution in the Making“,

Cutter IT Journal Vol24, No 8, 2011

Mehr Testkriterien

Mehr frühe Testobjekte

Mehr Testumgebungen

Page 6: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

6

11

„Früher Vogel“ via Continuous[Integration|Delivery|Deployment]

Continous_X

„Deployment pipeline is an

[…] manifestation of your

process for getting software

from version control into the

hands of your users“David Farley, Jez Humbler: „Continuous Delivery: Reliable Software

Releases through Build, Test, and Deployment Automation“,

Addison Wesley, 2010

Mehr automatisierte Tests

Mehr Testumgebungen

Höhere Verfügbarkeit der Testumgebungen

Delivery

team

Version

control

Build &

Unit

tests

Accep-

tance

tests

Release

Deploy

Continous

Integration:

Merging development work

constantly for testing changes.

Continous

Delivery:

Continual delivery

to an user base

Continous

Deployment:

Continual delivery

to production

• Mehr frühe Testobjekte

• Mehr Testumgebungen

• Mehr Automatisierung

• Mehr Testkriterien

12

Zusammenfassung

Der „frühe Vogel“ stellt ganz schön viele Anforderungen!

Page 7: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

7

Probleme• Wo sind meine Schnittstellen?

• Wie kriege ich Negativtests hin?

• Ich tue mal so….aber nicht wirklich

• Organisation

• Wie häufig gibt es Verzö-

gerungen beim Test, weil

Testumgebungen nicht

verfügbar sind?

• Ein System benötigt durch-

schnittlich 33 (2015: 52)

andere Systeme für Entwicklung

und Test.Wieviel Prozent davon

sind i.d.R. verfügbar?

14

Probleme: Wo sind meine Schnittstellen?

Aus: Theresa Lanowitz, Lisa Dronzek (voke Research):

Market Snapshot Report: Service Virtualization, 2012, 2015

Page 8: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

8

• Wie lange wartet der Test

durchschnittlich auf

Testumgebungen?

• Wieviel Prozent der

Unternehmen erfahren

durch nicht verfügbare

Testumgebungen

Verzögerungen…

15

Probleme: Wo sind meine Schnittstellen?

Aus: Theresa Lanowitz, Lisa Dronzek (voke Research):

Market Snapshot Report: Service Virtualization, 2012, 2015

…im

Testprozess

…im Entwicklungsprozess

…im

Testprozess

2012 2015

• Negative testing: „Tests aimed at showing that a component or

system does not work“ (ISTQB)

16

Probleme: Wie kriege ich Negativtests hin?

External

componentClient

Person A kreditwürdig?

[Ja|Nein|n/a]

Wie reagiert der Client auf Antworten wie

„blau“, 2,01 und „hello world“

Page 9: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

9

Testumgebungen für

den Test einzelner

Testobjekte sind

• nicht rechtzeitig, nicht

in entsprechender

Menge

• oder nicht

kostengünstig verfügbar.

• nicht in entsprechendem

Maß für Testzwecke

konfigurierbar.

17

Grundsätzliches Problem

Externe Komponenten

Fehlende Komponenten

Fertige Komponenten

Nutzung

Zeit

• Viel redundante Arbeit beim Einzellösen

• Nicht genügend kritische Masse, um zentrale Lösungsidee aufzubauen und zu nutzen

• Viele lokale Optima, aber kein globales!

• Viele geplatzte Sprints!

Testumgebungsproblem wirkt für jedes einzelne Team: Fehlende globale Lösungssuche

[Agiles]

Team T1[Agiles]

Team T2

[Agiles]

Team T3

Page 10: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

10

Lösungen• Mocking, Faking, Stubbing

• Service Virtualisierung

• Beispiele

• Test double: „For testing purpose we can replace the real

depended-on component with our equivalent of the „stunt

double“. The Test double“.

21

Ich tue mal so, aber nicht wirklich

Aus: Gerard Meszaros: „xUnit Test Patterns“,

Addison Wesley, 2007

Service-

Virtualisierung

Page 11: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

11

Service-Virtualisierung:

Simulation von IT-Komponenten,

die dann als virtualisierte

Substitutionen der echten

Komponenten eingesetzt werden.

Grundlage sind Werkzeuge, die

die Kommunikation zwischen

Testobjekt und Komponente

simulieren.

22

Grundsätzliche Lösung

23

Grundsätzliche Lösung

• Definition: „Service virtualization enables earlier

and more frequent integration testing by

emulating the unavailable component dependencies.”

Werkzeuge lassen sich

einordnen entlang der

beiden Dimensionen

• Konfigurierbarkeit

• Verfügbarkeit

Page 12: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

12

• Ex-Post:

• Capture

• Replay

• Optimize

◦ Separate protocol from

test data

◦ Model test data

• Ex-Ante:

• Model communication

◦ Requests

◦ Responses

• Merge with protocol

• Model test data

24

Virtualisierung

External

componentClient

Request

Response

25

Organisatorische Lösung

Projekt 1

Projekt 2

Projekt 3

Projekt 4

Projekt 6

Projekt 7

Lenkungsausschuss

Programm

Entscheidungsebene

Planungs- und

Steuerungsebene

Ausführungsebene

PL

PL

PL

PL

PL

PL

PL

Projekt 5

QS-Community of

Practices (CoP)

“groups of people informally bound

together by shared expertise and

passion for a joint enterprise”Snyder/Wenger

Page 13: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

13

26

Tool-Übersicht

Aus: Theresa Lanowitz, Lisa Dronzek (voke Research):

Market Snapshot Report: Service Virtualization, 2015

• Was wird meist

virtualisiert

(Virtualisierungs-

assets)

• Erreichte

Mehrwerte

Status-Quo: Erreichbare Mehrwerte durch Service Virtualisierung

27

Page 14: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

14

28

Beispiel SOAPUi (vgl. www.soapui.org)

Beispiel: Parasoft‘s Virtualize

Page 15: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

15

30

Beispiel CA Lisa: Kommunikationssequenzen

31

Schnittstellen as a service

• Tools

• Hardware

• Datenbeladungen

• Customizing

• Monitoring

• Betrieb

• Etc.

IT-Entwicklung

(user)

Grades of

„As a service“

Location:

• Inhouse

• Nearshore

• Offshore

• Anywhere

Payment

• Per use

• Per interface

• Per testdata

Schnittstellen

betrieb

(supplier)

Page 16: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

16

• Testdaten

• De-Zentralisierung

• Deutsche Referenz

• Vendor-Lock-In

• Lizenzkosten

• Early Adopter

Thema der Präsentation über Einfügen Kopf- und Fußzeile 32

Aber….

Zusammenfassung

Page 17: PowerPoint-Präsentation€¦ · Vol2, number 17, October 2012 ... together by shared expertise and passion for a joint enterprise ” Snyder/Wenger. 28.01.2016 13 26 Tool-Übersicht

28.01.2016

17

• Viele Trends motivieren heute den „frühen (Test-)vogel“

• Shift-left

• DevOps

• Continuous X

• Anforderungen an früheres Testen:

• Mehr Testobjekte

• Mehr Testumgebungen

• Mehr Testautomatisierung

• Mehr Testkriterien

• Zentrale Infrastruktur-Bereitstellung

• Service Virtualisierung als zentrales, intelligentes Stubbing, Mocking, Faking

• Referenzen mit empirischem Material außerhalb Deutschlands verfügbar

34

Zusammenfassung

Vielen Dank für Ihre Aufmerksamkeit