Kurs Inhalt
PHP-Schulung Codeception - Softwarequalität im Team
Gute Software durch Softwarequalität ist eine Teamaufgabe. In dem praktischen Workshop lernen wir gemeinsam mit der Funktastatur neues Wissen kennen und wenden das direkt in eurem Projekten an. Damit ist die Schulung auch direkt ein Grundstein für die zukünftige Entwicklung und kann direkt danach eingesetzt und weiter ausgebaut werden.
Das PHP-Testing Framework Codeception kann verschiedene Arten an Tests ausführen. Bekannt sind die Acceptance Tests mit denen man Webseiten mit einem automatisierten Browser, wie ein richtiger User testen kann. Diese Tests haben eine sehr hohe Codeabdeckung und testen dabei den gesamten technologischen Stack, der bei einer Internetseite zum Einsatz kommt.
Zuverlässige automatisierte Tests finden von Bugs und mögliche Probleme. Mit wenigen Zeilen Quellcode können Tests für Akzeptanzkriterien von User Storys geschrieben werden und auch schnell aktuelle Bugs mit zusätzlichen Tests abgedeckt werden. So kann man schnell entwickeln und hat eine stabile Software, die Kunden, Entwickler und alle anderen Beteiligten am Projekt glücklich macht.
Codeception eignet sich auch sehr gut für API und PHPUnit Tests. Beide Testverfahren zeichnen sich durch eine schnelle Laufzeit aus und machen es möglich Code Refactoring einzuführen. Ziel ist es die Software kontinuierlich zu verbessern und so innovative Lösungen ins Produktportfolio aufnehmen zu können.
Alle drei Testverfahren sind in ihrer Kombination gemeinsam am besten im produktiven Einsatz. Modernes Webdesign hat sehr individuelle Ansprüche und Features können nicht nur mit Unit-Tests auf der PHP-Codebasis getestet werden. Gerade Frameworks, CMS-Systeme und E-Commerce Applikationen haben auch eine Vielzahl von Konfigurationsmöglichkeiten.
Jeder kommt zum Coden und bekommt die Funktastatur in die HandDie Schulungen sind innovativ und haben uns richtig viel Spaß gemacht. Wir haben in den zwei Tagen viel über Tests gelernt und richtig viele Tests für unser aktuelles Projekt erstellt.
- Raum für eine Gruppenschulung mit Internet und Monitor oder Beamer
- Eine Staging URL gegen die Tests ausgeführt werden können. Die URL muß vom Rechner des PHP-Trainers erreichbar sein. Tests sind auch gegen Live Umgebungen möglich. Optimal wäre es, wenn Änderungen direkt am HTML Markup durchgeführt werden können.
- Optional kann das gesamte Projekt auch als lauffähige Entwicklungsumgebung auf dem PC des PHP-Trainers eingerichtet werden. Das wären optimale Arbeitsbedingungen.
- Die Teilnehmer arbeiten im praktischen Teil in Zweierteams als Pair Programming gemeinsam an Aufgaben
- Für die Unit Tests wird aktueller PHP-Code vom Projekt benötigt. Im Vorfeld kann hier ein SSH Key zur Verfügung gestellt werden und erforderliche Berechtigungen für einen Beutzer des PHP-Trainers eingerichtet werden. Eine Code Analyse im Vorfeld ist wichtig für die Vorbereitung.
- Die Teilnehmer können vor der Schulung bereits Codeception bei sich lokal installieren und mit Selenium zum laufen gebracht werden. Dafür kann eine Demo vom GitHub Account von Never Code Alone runtergeladen werden. Ein Blog Post zu dem Thema wird noch erstellt.
Inhalt | Art |
---|
Tag 1 - Acceptance Testing und Teamwork | |||
Setup Codeception from Scratch - Installation und Konfiguration | Theorie | ||
Erster Test für die eigene Seite - Best Practice mit PageObject und Selektoren | Theorie | ||
Live Coding gemeinsam mit der Funktastatur weitere User Stories testen | Team | ||
Tests auf allen Rechnern der teilnehmer zum Laufen bekommen | Team | ||
Weitere Tests für user Stories als Pair Programming in kleines Teams schreiben und erweitern | Team | ||
Vorstellung der Team Tests und Feedback mit Best Practice Tipps bekommen | Theorie | ||
Tag 2 - PHPUnit und API-Testing im Team | |||
Review Acceptance Testing | Theorie | ||
Einführung PHPUnit Tests mit Mock Objekten für Dependencies | Theorie | ||
Erster Test für eine eigene Methode | Theorie | ||
Live Coding gemeinsam mit der Funk Tastatur werden weitere Uni Tests erstellt | Team | ||
Erster Test für API Schnittstellen mit Best Practice für Auslagerung von Methoden und "Environment fast" | Theorie | ||
Live Coding gemeinsam mit der Funk Tastatur weitere API-Tests erstellen | Team | ||
Ausführliches Review aller Tests mit der Beantwortung aller aufkommenden Fragen | Team | ||
Vorstellung der unterschiedlichen Testverfahren aus dem Never Code Alone Sulu CMS Open Source Projekt | Theorie | ||