Post on 03-Jul-2020
transcript
28.01.2016
1
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
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
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
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
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!
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
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“
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
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
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
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
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
28.01.2016
14
28
Beispiel SOAPUi (vgl. www.soapui.org)
Beispiel: Parasoft‘s Virtualize
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)
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
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