SlideShare ist ein Scribd-Unternehmen logo
Testing in TYPO3 mit
Behat und Dalek.js
Wer sind wir
Sebastian Helzle

Neos, TYPO3, Freelancer, JS, Scrum
@sebobo
Benedikt Kastl
Frontendler, JS, OpenDeviceLab
@bkastl
Um was geht es
• Behat, Selenium, Mink, Gherkin, Fixtures
• Wie sieht ein einfacher Test aus
• Testen während der Entwicklung
• Automatisiertes Testen und manuelle Tests
• Monitoring / Smoketesting
• Testmaps für Kunden und QA
• Dalek.js
• Fallstricke
Behat, Gherkin, Mink
• Behat
• Framework für behaviour 

driven development (bdd)
• Gherkin
• Tests in normaler Sprache schreiben
• Mink
• Library für Behat für User Acceptance Tests (UAT) im
Browser
Fixtures
• Beispiele:
• Basis Datenbankdump für TYPO3
• Benutzerkonten
• Kleinere Testdatensätze
Selenium, Webdriver
• Testsuite für automatische Browsertests
• Support für IE, FF, Chrome, phantomjs
• Benötigt laufenden Server
• Clients verbinden sich zum Server
• Unterstützt Testgrids zur Lastverteilung
• Webdriver erlaubt die Interaktion mit der Webseite
Beispiel
Testen beim Entwickeln
• Schnelle und langsame Tests
• Headless oder nicht, das ist hier die Frage
• phantomjs, slimerjs
• Code kommt nur auf Master, wenn der Test grün ist
(und die anderen weiterhin grün sind)
Automatisiert und manuell
• Nicht jeder Test kann einfach automatisiert werden
• Manuelle Tests können mit der gleichen Sprache
dokumentiert werden (Tagging)
• Je mehr automatisiert desto besser
• Wichtig für CI-Umgebung
Monitoring / Smoketests
• Funktioniert das Produktivsystem auch aus
Usersicht
• Funktioniert das System nach einem Deployment
Testmaps
Dalek.js
• Automatische Browsertests auf Basis von node.js
• Benötigt kein Selenium Server
• Läuft standardmäßig mit Phantomjs
Fallstricke
• Selenium nicht immer stabil
• Webdriver verhält sich nicht immer wie ein echter
User
• Tests können lange dauern
• phantomjs 1.x unterstützt keine Webfonts
• Echte Bugs nur auf echten Geräten
Links
• http://dalekjs.com/
• http://phantomjs.org/
• https://github.com/Behat
• http://mink.behat.org/en/latest/
• http://www.seleniumhq.org/

Weitere ähnliche Inhalte

PDF
Testing TYPO3 Flow Applications with Behat
PPTX
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
PPTX
Continuous Delivery
PPT
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
PDF
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
PDF
Ant Maven
PDF
Perl Renaissance Reloaded
PDF
Von Test nach live mit Rex
Testing TYPO3 Flow Applications with Behat
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Continuous Delivery
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
Ant Maven
Perl Renaissance Reloaded
Von Test nach live mit Rex

Was ist angesagt? (9)

PDF
Regressionstests in Webprojekten
PDF
Regressionstests in Webprojekten - IPC12SE
PDF
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
PPTX
zopyx.plone migration - Plone Hochschultagung 2013
PDF
Unit Testing einer Zend-Framework 2 Anwendung
PDF
Einführung in Puppet und Vagrant
PDF
BED-Con - Tools für den täglichen Kampf als Entwickler
PPTX
WPML für mehrsprachige WordPress Websites verwenden
PDF
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Regressionstests in Webprojekten
Regressionstests in Webprojekten - IPC12SE
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
zopyx.plone migration - Plone Hochschultagung 2013
Unit Testing einer Zend-Framework 2 Anwendung
Einführung in Puppet und Vagrant
BED-Con - Tools für den täglichen Kampf als Entwickler
WPML für mehrsprachige WordPress Websites verwenden
Back to the future - Plone 5.2 und Python 3 Migration am Beispiel Onkopedia
Anzeige

Ähnlich wie Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js (20)

PDF
Bi testing media_factory_0.10
PDF
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
PDF
Grails im Überblick und in der Praxis
PDF
Flexibilitaet mit CDI und Apache DeltaSpike
PPTX
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
PDF
ColdFusion im Enterprise Umfeld - Deep Dive
PPT
2005 - NRW Conf: Design, Entwicklung und Tests
PDF
Der Agile Qualitätsbaukasten - PHP Unconference 2014
ODP
Von Test nach Live mit Rex
PDF
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
PDF
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
PPTX
MongoDB on Linux VM in Windows Azure
KEY
IntelliJ für Flex
PDF
Was kommt nach den SPAs
PDF
Ruby on Rails in a metro session
PDF
Robustes Testen mit Selenium
PDF
Testing XAML-based Windows Store Apps mit VS 2013
PPTX
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
PDF
Vortragsreihe Dortmund: Unified Development Environments
PDF
JavaScript für Java-Entwickler W-JAX 2013
Bi testing media_factory_0.10
HTML5 Offline - Fallstricke für mobile Webseiten und WebApps
Grails im Überblick und in der Praxis
Flexibilitaet mit CDI und Apache DeltaSpike
ShareConf 2014: 10 Gründe warum der SharePoint langsam ist
ColdFusion im Enterprise Umfeld - Deep Dive
2005 - NRW Conf: Design, Entwicklung und Tests
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Von Test nach Live mit Rex
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Acceptance Testing - Automatisierte Web App Tests mit CasperJS
MongoDB on Linux VM in Windows Azure
IntelliJ für Flex
Was kommt nach den SPAs
Ruby on Rails in a metro session
Robustes Testen mit Selenium
Testing XAML-based Windows Store Apps mit VS 2013
Pimp My SharePoint - Performanceprobleme vorbeugen, analysieren und beheben
Vortragsreihe Dortmund: Unified Development Environments
JavaScript für Java-Entwickler W-JAX 2013
Anzeige

Mehr von Sebastian Helzle (11)

PPTX
Neos CMS & SEO - The Next Level - NeosCon Dresden 2019
PPTX
SEO with NeosCMS - Meet Neos Salzburg 2018
PPTX
Semantic data in TYPO3 - T3CON18EU
PPTX
Continuous relaunch – die einzige konstante ist die Veränderung
PPTX
Neos CMS and SEO
PDF
Ci & proServer
PDF
Tasty Recipes for Every Day 2016 (Neos)
PDF
Conceptual understanding in development
PDF
Improving conceptual understanding in development
PDF
Improving editors' lives with Neos CMS
PDF
Continuous delivery with open source tools
Neos CMS & SEO - The Next Level - NeosCon Dresden 2019
SEO with NeosCMS - Meet Neos Salzburg 2018
Semantic data in TYPO3 - T3CON18EU
Continuous relaunch – die einzige konstante ist die Veränderung
Neos CMS and SEO
Ci & proServer
Tasty Recipes for Every Day 2016 (Neos)
Conceptual understanding in development
Improving conceptual understanding in development
Improving editors' lives with Neos CMS
Continuous delivery with open source tools

Testen von TYPO3 CMS/Flow/Neos Anwendungen mit Behat und Dalek.js

  • 1. Testing in TYPO3 mit Behat und Dalek.js
  • 2. Wer sind wir Sebastian Helzle
 Neos, TYPO3, Freelancer, JS, Scrum @sebobo Benedikt Kastl Frontendler, JS, OpenDeviceLab @bkastl
  • 3. Um was geht es • Behat, Selenium, Mink, Gherkin, Fixtures • Wie sieht ein einfacher Test aus • Testen während der Entwicklung • Automatisiertes Testen und manuelle Tests • Monitoring / Smoketesting • Testmaps für Kunden und QA • Dalek.js • Fallstricke
  • 4. Behat, Gherkin, Mink • Behat • Framework für behaviour 
 driven development (bdd) • Gherkin • Tests in normaler Sprache schreiben • Mink • Library für Behat für User Acceptance Tests (UAT) im Browser
  • 5. Fixtures • Beispiele: • Basis Datenbankdump für TYPO3 • Benutzerkonten • Kleinere Testdatensätze
  • 6. Selenium, Webdriver • Testsuite für automatische Browsertests • Support für IE, FF, Chrome, phantomjs • Benötigt laufenden Server • Clients verbinden sich zum Server • Unterstützt Testgrids zur Lastverteilung • Webdriver erlaubt die Interaktion mit der Webseite
  • 8. Testen beim Entwickeln • Schnelle und langsame Tests • Headless oder nicht, das ist hier die Frage • phantomjs, slimerjs • Code kommt nur auf Master, wenn der Test grün ist (und die anderen weiterhin grün sind)
  • 9. Automatisiert und manuell • Nicht jeder Test kann einfach automatisiert werden • Manuelle Tests können mit der gleichen Sprache dokumentiert werden (Tagging) • Je mehr automatisiert desto besser • Wichtig für CI-Umgebung
  • 10. Monitoring / Smoketests • Funktioniert das Produktivsystem auch aus Usersicht • Funktioniert das System nach einem Deployment
  • 12. Dalek.js • Automatische Browsertests auf Basis von node.js • Benötigt kein Selenium Server • Läuft standardmäßig mit Phantomjs
  • 13. Fallstricke • Selenium nicht immer stabil • Webdriver verhält sich nicht immer wie ein echter User • Tests können lange dauern • phantomjs 1.x unterstützt keine Webfonts • Echte Bugs nur auf echten Geräten
  • 14. Links • http://dalekjs.com/ • http://phantomjs.org/ • https://github.com/Behat • http://mink.behat.org/en/latest/ • http://www.seleniumhq.org/