Testing in TYPO3 mit
Behat und Dalek.js
Wer sind wir
Sebastian Helzle

Neos, TYPO3, Freelancer, JS, Scrum
@sebobo
Benedikt Kastl
Frontendler, JS, OpenDeviceLab
@b...
Um was geht es
• Behat, Selenium, Mink, Gherkin, Fixtures
• Wie sieht ein einfacher Test aus
• Testen während der Entwickl...
Behat, Gherkin, Mink
• Behat
• Framework für behaviour 

driven development (bdd)
• Gherkin
• Tests in normaler Sprache sc...
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...
Beispiel
Testen beim Entwickeln
• Schnelle und langsame Tests
• Headless oder nicht, das ist hier die Frage
• phantomjs, slimerjs
•...
Automatisiert und manuell
• Nicht jeder Test kann einfach automatisiert werden
• Manuelle Tests können mit der gleichen Sp...
Monitoring / Smoketests
• Funktioniert das Produktivsystem auch aus
Usersicht
• Funktioniert das System nach einem Deploym...
Testmaps
Dalek.js
• Automatische Browsertests auf Basis von node.js
• Benötigt kein Selenium Server
• Läuft standardmäßig mit Phant...
Fallstricke
• Selenium nicht immer stabil
• Webdriver verhält sich nicht immer wie ein echter
User
• Tests können lange da...
Links
• http://dalekjs.com/
• http://phantomjs.org/
• https://github.com/Behat
• http://mink.behat.org/en/latest/
• http:/...
Nächste SlideShare
Wird geladen in …5
×

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

989 Aufrufe

Veröffentlicht am

Vor- und Nachteile beim Testen im TYPO3 Umfeld mit Behat und Dalek.js

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
989
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
69
Aktionen
Geteilt
0
Downloads
2
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

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

  1. 1. Testing in TYPO3 mit Behat und Dalek.js
  2. 2. Wer sind wir Sebastian Helzle
 Neos, TYPO3, Freelancer, JS, Scrum @sebobo Benedikt Kastl Frontendler, JS, OpenDeviceLab @bkastl
  3. 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. 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. 5. Fixtures • Beispiele: • Basis Datenbankdump für TYPO3 • Benutzerkonten • Kleinere Testdatensätze
  6. 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
  7. 7. Beispiel
  8. 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. 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. 10. Monitoring / Smoketests • Funktioniert das Produktivsystem auch aus Usersicht • Funktioniert das System nach einem Deployment
  11. 11. Testmaps
  12. 12. Dalek.js • Automatische Browsertests auf Basis von node.js • Benötigt kein Selenium Server • Läuft standardmäßig mit Phantomjs
  13. 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. 14. Links • http://dalekjs.com/ • http://phantomjs.org/ • https://github.com/Behat • http://mink.behat.org/en/latest/ • http://www.seleniumhq.org/

×