Slide 1

Slide 1 text

Containerized End­2­End­Testing + Referent: , Tobias Schneck ConSol* Software GmbH

Slide 2

Slide 2 text

Testpyramide Robust Unabhängig Isoliert Schnell

Slide 3

Slide 3 text

Besonderheiten bei End­2­End Tests Unterschiedliche Testarten Regressionstests Funktionale Abnahmetests Parallele Tests mit GUIs sind schwierig Geteilte Testdaten: Login­User, User­Sessions mit Stati Cleanup von Testdaten Manueller Aufwand > Aufwand für Automatisierung

Slide 4

Slide 4 text

Vorteile der Container­Technologie Isolation von Umgebungen Repository für Versionierung und Verteilung Nachvollziehbarer Aufbau der Umgebung Dockerfile, docker­compose.yml Start von Containern on­the­fly Einfache Parallelisierung Wenig Speicher­Overhead Teilen sich den selben Linux­Kernel

Slide 5

Slide 5 text

Containerized GUIs # # # s t a r t t h e d o c k e r c o n t a i n e r v i a x ­ f o r w a r d i n g d o c k e r r u n ­ i t ­ e D I S P L A Y = $ D I S P L A Y ­ v / t m p / . X 1 1 ­ u n i x : / t m p / . X 1 1 ­ u n i x : r w r a s c h / i n k s c a p e # # # s t a r t t h e d o c k e r c o n t a i n e r w i t h V N C i n t e r f a c e # c o n n e c t v i a U R L : h t t p : / / l o c a l h o s t : 6 9 1 1 / v n c _ a u t o . h t m l ? p a s s w o r d = v n c p a s s w o r d d o c k e r r u n ­ i t ­ p 5 9 1 1 : 5 9 0 1 ­ p 6 9 1 1 : 6 9 0 1 c o n s o l / c e n t o s ­ x f c e ­ v n c d o c k e r r u n ­ i t ­ p 5 9 1 2 : 5 9 0 1 ­ p 6 9 1 2 : 6 9 0 1 c o n s o l / u b u n t u ­ x f c e ­ v n c

Slide 6

Slide 6 text

Was bietet ? Kategorie Beschränkung auf den Browser Web Tests via HTML­Selectors Open Source & Java API Automatisierbarkeit & Ergebnis­Forwarder (CI, DB, Monitoring) Unterstützung bei Testerstellung (Recorder, Screenshot­Finder) Headless­Execution

Slide 7

Slide 7 text

Nagios & Incinga Integration

Slide 8

Slide 8 text

Sakuli End­2­End­Testing Container

Slide 9

Slide 9 text

Demo ­ Sakuli­Containers # s t a r t t h e d o c k e r c o n t a i n e r d o c k e r r u n ­ i t ­ p 5 9 1 1 : 5 9 0 1 ­ p 6 9 1 1 : 6 9 0 1 c o n s o l / s a k u l i ­ c e n t o s ­ x f c e d o c k e r r u n ­ i t ­ p 5 9 1 2 : 5 9 0 1 ­ p 6 9 1 2 : 6 9 0 1 c o n s o l / s a k u l i ­ u b u n t u ­ x f c e # s t a r t i n p a r a l l e l v i a d o c k e r ­ c o m p o s e # u s e d o c k e r ­ c o m p o s . y m l f r o m h t t p s : / / g i t h u b . c o m / C o n S o l / s a k u l i / t r e e / m a s t e r / d o c k e r d o c k e r ­ c o m p o s e u p

Slide 10

Slide 10 text

CI Demo Aufbau

Slide 11

Slide 11 text

CI Demo Aufbau

Slide 12

Slide 12 text

CI Demo g i t c l o n e h t t p s : / / g i t h u b . c o m / t o s c h n e c k / s a k u l i ­ e x a m p l e ­ b a k e r y ­ t e s t i n g . g i t # # # b u i l d t h e l o c a l i m a g e s m v n c l e a n p a c k a g e # # # s t a r t t h e a p p l i c a t i o n a n d t h e U I t e s t v i a m a v e n m v n ­ f s a k u l i ­ t e s t s ­ m a v e n / p o m . x m l c l e a n v e r i f y # # # b u i l d a n d s t a r t t h e a p p v i a d o c k e r ­ c o m p o s e c d a p p ­ d e p l o y m e n t ­ d o c k e r ­ c o m p o s e d o c k e r ­ c o m p o s e k i l l & & d o c k e r ­ c o m p o s e r m ­ f & & d o c k e r ­ c o m p o s e b u i l d & & d o c k e r ­ c o m p o s e u p ­ d # # # s t a r t t h e 4 s a k u l i ­ t e s t s i n p a r a l l e l c d . . / s a k u l i ­ t e s t s d o c k e r ­ c o m p o s e k i l l & & d o c k e r ­ c o m p o s e r m ­ f & & d o c k e r ­ c o m p o s e b u i l d & & d o c k e r ­ c o m p o s e u p

Slide 13

Slide 13 text

Ausblick & Ideen Headless Execution ­ Linux: VNC & Docker, Windows: ? Video­Aufzeichnung der Testabläufe zur Fehlerdokumentation Web­UI für die Test­Suite­Verwaltung Anbindung an externe Test­Management­Lösungen (z.B. HP QC) Grafische Auswertung der Testergebnisse in CI­Umgebungen Einbindung von Selenium als Sahi­Alternative

Slide 14

Slide 14 text

Links https://github.com/ConSol/sakuli https://github.com/toschneck/sakuli­ example­bakery­testing https://twitter.com/sakuli_e2e https://twitter.com/consol_de

Slide 15

Slide 15 text

Vielen Dank! Tobias Schneck ConSol Software GmbH Franziskanerstraße 38 D­81669 München Tel: +49­89­45841­100 Fax: +49­89­45841­111 [email protected] [email protected] www.consol.de