11. Juli 2013 Softwaretest von 0 Kommentare

Nachdem ich mich in den vergangenen Wochen mit den Themen, TDD, PHPUnit, Mockery und Co. auseinandergesetzt habe und meine Erfahrungen hier kurz präsentierte, kann ich nun den nächsten Punkt auf meiner ToDo-Liste abhaken. Einbinden und Nutzung von Codeception.

Codeception ist ein Testframework für PHP und liefert neben zahlreichen Helfern für funktionale Tests und Unit-Tests auch ausgesprochen hilfreiche Methoden für die Akzeptanztests - also die Tests, welche dem wirklichen Verhalten der Endanwender am ähnlichsten sind.

Folgend möchte kurz die Einbindung, Installation und Verwendung für Akzeptanztests (Oberflächentests) mithilfe von Codeception erläutern, ohne dabei auch nur ein mal den Browser geöffnet zu haben und trotzdem zu validieren, dass die Oberflächenfunktionen erfolgreich ihren Dienst erfüllen.

26. Juni 2013 Softwaretest von 0 Kommentare

Bereits letzte Woche habe ich kurz erklärt, wie sich PHPUnit einfach und schnell mittels Composer in Projekte integrieren lässt. Anschließend bin ich ausführlich auf die ersten Schritte im Test-Driven-Development eingegangen. Doch so leicht wie die Prozesse dort anhand eines einfachen Beispiels dargestellt wurden, gestaltet sich das ganze in der Realität selten.

Oft kommt es vor, dass Objekte als Abhängigkeiten verwendet werden müssen. Da es beim Unit-Testing aber nur darauf ankommt die aktuell zu testende Einheit zu testen, ist es nötig diese Abhängigkeiten durch Mocks, auch Dummy-Objekte genannt, zu ersetzen. Ein gutes Framework dafür ist Mockery.

19. Juni 2013 Softwaretest von 2 Kommentare

Während viele Außenstehende von PHP immer noch das Bild der zurückgebliebenen Sprache nach Wordpress-Code-Design haben, entwickelt sich die meist genutzte Programmiersprache langsam aber sicher, wie ich es sage, zum .NET-Klon.

Viele professionelle Projekte werden nach diversen Design-Pattern, wie MVC erstellt. Moderne PHP-Entwickler aber auch Beteiligte im Social Coding  greifen auf Softwaretests zurück, vor allem aber hält die testgetriebene Entwicklung nach und nach Einzug. Folgend möchte ich an einem Beispiel die Vorgehensweise beim TDD erläutern. Source-Code am Ende des Artikels.

phpunitrunfromcmd

12. Juni 2013 Allgemein von 0 Kommentare

[Composer\Downloader\TransportException]
The [...] file could not be downloaded: failed to open stream: Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?

Mit dieser Exception wurde ich soeben beim Ausführen des Befehls composer update begrüßt, als ich die aktuellen Abhängigkeiten für meine Laravel 4-Spielwiese beziehen wollte.

28. Mai 2013 News von 0 Kommentare

Update: Und nun ist es endlich soweit. Um 21:23 Uhr deutscher Zeit ging die neue Webseite online.

Laravel 4 Header

Bereits seit einigen Wochen beschäftige ich mich in meiner Freizeit intensiv mit dem PHP MVC-Framework Laravel. Wie meinen Beiträgen zu diesem Framework zu entnehmen ist, probiere ich stets mir unbekannte Dinge aus und probiere mich an den neuen Features.

22. Mai 2013 Web-Entwicklung von 0 Kommentare

Oft kommt es vor, dass die zum Download angebotenen Dateien nur für angemeldete Benutzer verfügbar sein sollen. Dazu kann das Dokumenten-Root Verzeichnis public von Laravel nicht verwendet werden, da generell jedem Anwender Zugriff auf alle Dateien in diesem Verzeichnis gewährt wird. Auch eine Abfrage des aktuell angemeldeten Benutzers kann dies nicht verhindern.

Wie muss das ganze nun gelöst werden, damit sichergestellt werden kann, dass der Benutzer auch wirklich angemeldet ist? Dies möchte ich folgend an einem Beispiel erläutern. Für die Ungeduldigen befindet sich ein Link zum kompletten Source-Code am Ende des Artikels.

15. Mai 2013 Allgemein von 0 Kommentare

Ab und an ist es notwendig Datenbanken  zu klonen, beziehungsweise zu kopieren. Vor allem dann, wenn eine bestehende Produktiv-Datenbank für Tests verwendet werden soll um beispielsweise kundenspezifische Probleme zu analysieren oder neue Funktionen mit dem realen Datenbestand zu testen ohne das Produktiv-System zu belasten.

Meine Aufgabe war es diverse Datenbanken von Testsystemen zu klonen um mit dem gesicherten Datenbestand aufgetretene Fehlerwirkungen nachzuvollziehen und die Ursachen zu ermitteln. Folgend möchte ich kurz erläutern wie sich Datenbanken über die Oberfläche des Microsoft SQL Management Studios kopieren lassen.