12. September 2013 Web-Entwicklung von 0 Kommentare

Nach meinem Urlaub melde ich mich nun erstmal mit einem kurzen Quick-Tipp. Schon seit gefühlten Ewigkeiten nutze ich PHP als Sparache für private Webentwicklungen und kenne mittlerweile einige Kniffe und Tricks. Doch ein Befehl war mir gänzlich unbekannt und stellte für mich in den vergangenen Tagen den nützlichsten Tipp der letzten zwei Jahre dar.

PHP bringt eigenen Web-Server

Und zwar bringt ein einmal installiertes PHP seinen eigenen Web-Server mit sich und lässt sich ganz ohne XAMPP, LAMPP und wie sie alle heißen mögen, mal eben schnell eine PHP-Seite anschauen oder ein Skript ausführen. 

31. Juli 2013 Softwaretest von 0 Kommentare

Für ein privates PHP-Projekt, welches ich nach dem Test-Driven-Development-Prinzip entwickle, benötigte ich gerade im Anfangsstadium der Entwicklung die Möglichkeit protected-Methoden zu testen. Wie ich das gemacht habe, erläutere ich folgend. Das Schlüsselwort ist Reflection.

25. Juli 2013 Softwaretest von 0 Kommentare

Als Follower des Codeception-Twitter-Kanals wurde in den vergangen Tagen eine Sache sehr oft erwähnt: AspectMock. Der Entwickler von Codeception Michael Bodnarchuk stellte sein neues Werk vor - eine einfach anzuwendende Mocking-Bibliothek basierend auf Go! AOP.

Für mich als Tester war der Trubel genug Anreiz um mir die Version 0.1.0 zu besorgen und die ersten Sachen auszuprobieren. Nach einigen Startschwierigkeiten erwies sich die Anwendung als äußerst einfach.

Ein großer Vorteil? Es ist auch möglich Code ohne Dependency Injection zu testen. Auch einfaches Testen statischer Methoden ist möglich. Was das heißt möchte ich folgend erläutern.

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.