testen im vorgehensmittelpunkt mit behaviour-driven ...€¦ · demo e i g e n e n t w i c k l u n...
TRANSCRIPT
1
ZUHÖREN. ANALYSIEREN. BERATEN.
SIDION
2
M i s c h k a H ö f l i n g & A z m i r A b d i
a g i l e t e s t i n g 2 0 1 9 – S A E C D a y s 2 0 1 9 – M i 5 . 2
TESTEN
IM VORGEHENSMITTELPUNKT
MIT BDD
3
WER SIND WIR?B u s i n e s s - A n a l y s t & S o f t w a r e - A r c h i t e k t
L a n g j ä h r i ge E r f a h r u n g u n d Z u s a m m e n a r b e i t
b e i d e r F i rm a s i d i o n
Mischka Höfling
Business-Analyst.
Requirements Engineer.
Projektmanager.
Prozessmanager.
Führungskraft.
Azmir Abdi
IT-Architekt.
Software-Integrations-Experte.
Softwareentwickler.
Projektmanager.
Führungskraft.
4
SYSTEM UNDER TESTA u s g a n g s s i t u a t i o n
Z u s t a n d & A n we n d u n g s f a l l - D ia g r a m m d e s b e t r o f f e n e n S ys t e m s
BROWNFIELD SOFTWARE
Die Software existiert bereits über 20 Jahren
REST SERVICES
Die Funktionen werden hauptsächlich als REST-Services
bereitgestellt
MONOLITISCHE ARCHITEKTUR
Auch wenn das System in mehreren Modulen aufgeteilt ist sind
diese monolithischer Schichten-Architektur
FUNKTIONS-TESTFÄLLE
Vorhandene Funktions-Testfälle werden manuell ausgeführt
NIEDRIGE TESTABDECHUNG
Älteste Software-Komponenten ohne
Unit-Test-Code
5
ORGANISATIONA u s g a n g s s i t u a t i o n
P r o j e k t o r g a n i s a t i o n h i n t e r d e s b e t r o f f e n e n S ys t e m s
PROJEKTLEITUNG
PROJEKT OFFICE
TEST-TEAM
FACH-TEAM
ENTWICKLUNGS-TEAM
6
ORGANISATIONA g i l e T r a n s f o r m a t i o n
P r o j e k t o r g a n i s a t i o n h i n t e r d e s b e t r o f f e n e n S ys t e m s n a c h d e r a g i l e n Tr a n s f o r m a t i o n
SCRUM OF SCRUMS
SCRUM TEAM 3
SCRUM TEAM 1
SCRUM TESM 2
7
MIGRATIONA g i l e T r a n s f o r m a t i o n
M i g r a t i o n v o n d e m k l a s s i sc he n z u m a g i l e n Vo r g e h e n
Akzeptanzkriterien als Bestandteil
der Tickets oder Sub-Tasks.Umfangreichen Text-Dokumenten
Häufig auf der Strecke gebliebener
Testausführung wegen Zeitdrucks
Fachspezifikationen
Unkonkreten Akzeptanzkriterien
Separaten Test-Strategien & Testfällen
Epics und Stories in einem
Ticket-System.
Hoher Grad an Testautomatisierung
Akzeptanzkriterien
Akzeptanztests in Gherkin-Sprache
mit konkreten Testdaten bereits im
Rahmen der Refinements definiert
Ein Team zuständig für vier Module
Drei Teams mit aufgeteilten Modulen
8
WIESO TESTEN?T e s t e n i n a g i l e n P r o j e k t e n
Wa s wä r e d i e A l t e r n a t i v e n i c h t t e s t e n !?
9
WIE TESTEN?T e s t e n i n a g i l e n P r o j e k t e n
U n i t Te s t s s i n d g e s e t z t , a b e r w i e v e r f ä h r t m a n
m i t S ys t e m - u n d I n t e g r a t i o n s t e s t s i n a g i l e n P r o j e k t e n ?
M e t h o d i k . To o l s . Te c h n o l o g ie
10
SYSTEM- UND INTEGRATIONSTESTSW i e s e t z t m a n S y s t e m - u n d I n t e g r a t i o n s t e s t s u m ?
E i n U n t e r n e h m e n d a s S o f t wa r e e n t w i c k e l t s o l l d i e s e
a u c h i n d e r e i n e r n i c h t i s o l i e r t e n U m g e b u n g ( i n t e g r i e r t e U m g e b u n g ) t e s t e n .
Ein Test-Team
Mit einem Test-System
K L A S S IS CH…
A G I LE ?
11
WIE ENTSCHEIDEN?E n t s c h e i d e n i n a g i l e n P r o j e k t e n
W i e f ä l l t m a n E n t s c h e id u ng e n
i n a g i l e n P ro j e k t e n ?
12
AGILE WERTER ü c k b l i c k
A u c h t e c h n i s c h e E n t sc he id un g e n im a g i l e n U m f e l d
s o l l t e n s i c h a n a g i l e n We r t e n & P r i n z i p en o r i e n t i e r e n .
INDIVIDUEN UND
INTERAKTIONEN
MEHR ALS
PROZESSE UND
WERKZEUGE
FUNKTIONIERENDE
DIENSTLEISTUNGEN
MEHR ALS
UMFASSENDE
DOKUMENTATION
ZUSAMMENARBEIT
MIT DEM KUNDEN
MEHR ALS
VERTRAGS-
VERHANDLUNG
REAGIEREN AUF
VERÄNDERUNG
MEHR ALS
DAS BEFOLGEN
EINES PLANS
13
AGILE PRINZIPIENR ü c k b l i c k
A u c h t e c h n i s c h e E n t sc he id un g e n im a g i l e n U m f e l d
s o l l t e n s i c h a n a g i l e n We r t e n & P r i n z i p en o r i e n t i e r e n .
Lieferungen unter
Berücksichtigung von
Kundenrückmeldungen
K O N T I N U I E R L I C H
Errichte Projekte rund um
motivierte Individuen
I N D I V I D U E N
Jeder Teammitglied bringt
ausreichen fachliches, soziales und
organisatorisches Können mit
E X P E R T I S E
Auch späte Änderungen sind
willkommen
V E R Ä N D E R U N G
Führe Gespräche von Angesicht zu
Angesicht
K O M M U N I K AT I O N
Eliminiere Verschwendung und
unnötige Tätigkeiten
V E R M E I D E M U D A
Liefere alle vier Wochen aus
R E G E L M Ä S S I G
Liefere funktionierende
Software
Q U A L I T Ä T
Die besten Ergebnisse entstehen
durch selbstorganisierte Teams
S E L B S T-
O R G A N I S AT I O N
Verschiedene Bereiche in der
täglichen Zusammenarbeit
C R O S S -
F U N C T I O N A L
Kunde und Scrum-Team halten
ein gleichmäßiges Tempo
R H Y T H M U S
Team reflektiert regelmäßig wie
es effektiver werden kann und
passt sich entsprechend an
R E T R O S P E K T I V E
14
AGILE SYSTEM- UND INTEGRATIONSTESTS?T e s t e n i n a g i l e n P r o j e k t e n
M ü s s e n d i e k l a s s i sc he n Te s t m a n a g e r u n d Te s t e r
a g i l we r d e n ?
Scrum Rollen
Product Owner . Scrum Master . Entwickler-Team
Alle notwendige Funktionen wie Entwickeln & Testen
Grundkenntnisse sind breit vertreten
Spezialkenntnisse sind individuell besetzt
S E L B S T O R G A N I S I E R T E
T E A M S
G U I
S Y S T E M T E S T S
U N I T T E S T S
Software-Qualität
Reviews . Pair Programming
Testen
Integriertes Testen . CI/CD . Testabdeckung Unit Tests
System Tests . Integrationstests
F U N K T I O N I E R E N D E
S O F T W A R EI N T E G R AT I O N S -
T E S T S
15
MAKE OR BUY
S y s t e m - u n d I n t e g r a t i o n s t e s t s i n a g i l e n P r o j e k t e n
E s i s t d i e Ve r a n t wo r t u n g d e s S c r u m - Te a m s
d i e E n t s c h e id un g z u t r e f f e n
STANDARD OR INDIVIDUAL
16
R A H M E N B E D I N G U N G E N
B r e i t e s W i s s e n i m S c r u m - T e a m
T e c h n o l o g i e - u n a b h ä n g i g
Zu
gä
ng
li
ch
Tr
an
sp
ar
en
t
Te s t e r s t e l l u ng u n d D u r c h f ü h r u n g v o n d e m E n t w i c k l e r - Te a m
D u r c h M i c r o s e r v i ce s m ü s s e n i m m e r m e h r Te c h n o l o g ien g e t e s t e t we r d e n
A P I s : S OA P, R E S T, M Q, D B s , K a f k a , …
GU I s : H T M L , M o b i l e A p p ‘ s
Inte
rn
un
d E
xte
rn
Inte
rn
un
d E
xte
rn
f ü r e i n Te s t i n g - F r a m e wo r k i m a g i l e n P r o j e k t
17
TECHNOLOGIEWAHLE r f a h r u n g s b e r i c h t
E r f a h r u n g s b e r i c h t a u s e i n e m a g i l e n P r o j e k t
A U S G A N G S S I T U AT I O N
Einsatz von HP ALM & UFT
Ein Testing-Team
Stätiges Wachstum an Diskrepanz zum Entwickler-Team
Lange Aufwendige Testphase
Wachsendes Anzahl der Störmeldungen
U M D E N K E N I N Q S
N O T W E N D I G
Testphase mit BDD und Cucumber Framework aufgrund
der Java-Entwicklung
Sehr große Akzeptanz von dem Entwicklern
Erster Technischer Durchstich mit dem Haupt Use Case
nach ca. eine Woche lauffähig
Und wie sieht das Ganze aus?
18
LÖSUNGE i g e n e n t w i c k l u n g f ü r S y s t e m - u n d I n t e g r a t i o n s t e s t s
B e h a v i ou r - D r i v en D e v e l o p m e n t ( B D D ) M e t h o d i k
u n d a g i l e P r o j e k t v o r g e he n b e g ü n s t i g en s i c h g e g e n s e i t i g
J e d e f a c h l i ch e D o m ä n e w i r d v o n e i n e m S c ru m - Te a m v e ra n t wo r t e t
m i t e i n e m n a c h D o m ä n e n s e p a r i e r t e n Te s t P r o j e k t
v o n S c r u m - Te a m s e l b s t g e t e s t e t
19
A b s t r a k t e S t e p s
R E S T C a l l , K a f k a C l i e n t , Wa i t S t e p , …
Wo r l d Ob j e k t
N a c h r i c h t e n ge n e r a t o r
S wa g g e r / J s o n S c h em a , X S D
K o n k r e t e S t e p s w i e
We n n i c h e i n e n K u n d e n a n l e g e
U m g e b u n g s k o n f i g u r a t i o n
w i e U R L , Z u g a n g s d a t e n , …
Te s t S z e n a r i e n
G i v e n / W h e n / T h e n K o m p o s i t i on d e r S t e p s
Te s t D a t e n
LÖSUNGE i g e n e n t w i c k l u n g f ü r S y s t e m - u n d I n t e g r a t i o n s t e s t s
D u r c h f a c h l i c he A u f t e i l u ng s o l l e n d i e g e g e n s e i t i g e A b h ä n g ig ke i t e n z w i s c h e n
d e n S c r u m - Te a m s m i n i m i s i e r t we r d e n .
S ys t e m U n d e r Te s t ( S U T )
20
goGherkin
CMS
Testing
CRM
Testing
CR
Testing
CRM CMS CR
DEMOE i g e n e n t w i c k l u n g f ü r S y s t e m - u n d I n t e g r a t i o n s t e s t s
D r e i M i c r o s e r v i ce s e r r e i ch b a r ü b e r d i e R E S T A P I & S wa g g e r
C u s t o m e r R e l a t i o n sh ip M a n a g e m e n t ( C R M ) : s p e i c h e r t P e r s o n e n - D a t e n
C o n t r a c t M a n a g e m e n t S ys t e m ( C M S ) : s p e i c he r t Ve r t r a g s d a t e n
C o n t ra c t R e q u e s t S e rv i c e (C R ) : s p e i c h e r t A n t r ä g e
& o r c h e s t r i e r t C R M u . C M S
C r e a t e n e wp e r s o n
C r e a t e n e wc o n t r a c t
C r e a t e n e wc o n t r a c tr e q u e s t
21
DEMO
22
D e m o P r o j e k t
S p r i n g B o o t M i c r o s e r v i c e e r r e i ch b a r ü b e r d i e R E S T A P I & S wa g g e r
C u s t o m e r R e l a t i o n sh ip M a n a g e m e n t ( C R M ) : s p e i c h e r t P e r s o n e n - D a t e n
CRM REST API
23
D e m o P r o j e k t
Gh e rk i n f e a t u re F i l e
J a v a g l u e C o d e
CRM-Testing
24
D e m o P r o j e k t
J U n i t R e p o r t
C u c u m b e r H T M L R e p o r t
CRM-Testing
25
D e m o P r o j e k t
J U n i t R e p o r t
C u c u m b e r H T M L R e p o r t
Regression-Testing
26
E n d - To - E n d S z e n a r i e n
K e i n e Te s t - S t e p s
A u f r u f e d e r e x i s t i e r e n d e r
Te s t - S t e p s
E2E / REGRESSIONE i g e n e n t w i c k l u n g f ü r S y s t e m - u n d I n t e g r a t i o n s t e s t s
D u r c h W i e d e r v e r we n d u n g d e r i m p l e m e n t i e r t e n Te s t - S t e p s i s t e s b e i m B e d a r f
e i n f a c h m ö g l i c h I n t e g r i e r t e Te a m ü b e r g r e i f e n d e Te s t s a u f z u s e t z e n .
27
ERFOLGSFAKTOREND i e i d e n t i f i z i e r t e n
l e i d e r i n d e r R e a l i t ä t n i c h t i m m e r a l l e e r f ü l l t
Product Owner ist
Mitarbeiter des Auftraggebers.
FA K T O R E I N S
Product Owner ist in die Definition
der Regressionstestfälle involviert.
FA K T O R V I E R
Product Owner versteht den Wert
von Testautomatisierung und stimmt
Akzeptanztests im Detail ab.
FA K T O R Z W E I
Entwicklungs-Team setzt
Akzeptanz-Tests um.
FA K T O R D R E I
1
2
3
4
28
TEST SET-UPZ i e l
A l l e B e t e i l i g t e n s i n d i n s Te s t e n i n v o l v i e r t
29
FALLSTRICKED i e i d e n t i f i z i e r t e n
l e i d e r d i e R e a l i t ä t
Erfüllung aller Kriterien für den
Test-Beginn zum Zeitpunkt von
Software-Build und -Deployment?
FA L L S T R I C K E I N S
Performance:
Ausführungsdauer der Testfälle.
FA L L S T R I C K V I E R
Testdaten-Qualität in der
Test-Umgebung.
FA L L S T R I C K Z W E I
Abgrenzung von Ende-zu-Ende
Black-Box-Testing zu White-Box-
Testing:, eher Grey-Box-Testing.
FA L L S T R I C K D R E I
1
2
3
4
30
Testen von Eigenschaften
an Stelle des Testens des
Verhaltens (abgeleitet aus
dem Property-Based Testing
(PBT))
P B T
VERBESSERUNGSPOTENZIALEA u s b l i c k
E r f a h r u n g s b e r i c h t a u s e i n e m a g i l e n P r o j e k t
Zufällig generierte Testdaten,
idealer Weise basierend auf
vordefinierbaren Rahmen-
bedingungen Äquivalenz-
klassen-Definition
Grenzwert-Definition
T E S T D AT E N
Datentypen-Tests nicht
typisierter REST-
Schnittstellen-Parameter
D AT E N T Y P E N Unterscheidung von keinem
Input-Wert und <null> als
definiertem Input-“Wert“
N U L L - W E R T
31
FRAGEN
Mitdenken
Mi tgesta l ten
Mi tarbe i ten
be i s id ion
POWERPOINT TEMPLATE