27. Januar 2016 Softwaretest von 0 Kommentare

Oft stolpert man im Bereich der Testautomatisierung über das Herunterladen von Dateien und dem anschließenden Überprüfen Dieser. In den meisten Fällen dreht es sich dabei um diverse Bestätigungsdokumente, wie auch zuletzt bei mir, um Bestellbestätigungen im PDF-Format, welche die zuvor automatisiert eingetragenen Daten natürlich enthalten sollen/müssen.

Leider stellt Selenium / WebDriver dafür keine geeigneten Methoden bereit, da der Download Sache des Browser ist und in nativen Fenstern verwaltet wird, auf welche Selenium keinen Zugriff erhält.

25. März 2015 Softwaretest von 0 Kommentare

Für mein aktuelles Projekt auf Laravel-Basis habe ich zum ersten mal mit dem Continiuos Integration Dienst Travis CI experimentiert. Führ das Ausführen der Tests nutze ich Codeception. Da ich neben dem automatischesn Ausführen von Unit-Tests auch funktionale Tests über die Oberfläche ausführen möchte, stellte sich mir die Frage nach einer passenden Konfiguration für Travis, da dort ja nur die Konsole, beziehungsweise Kommandozeile, zur Verfügung steht. 

29. Oktober 2014 Softwaretest von 0 Kommentare

In meinem Job automatisiere ich funktionale Oberflächentests mit Java. Die Testfälle führe ich mittels des TestNG-Frameworks und Selenium aus. Jeder Testfall ist mittels @Annotation mindestens einer Testgruppe zugeordnet. Die Testfälle werden parallel mit unterschiedlichen Anwendern ausgeführt, da ein Anwender sich zeitgleich nur ein mal am System anmelden kann.

Bei der Ausführung eines parallelisierten Smoketest-Sets bin ich dann jedoch ins Stolpern geraten. Ziel ist es Testfälle auszuführen, welcher der Gruppe Group User A und der Gruppe Smoketest zugeordnet sind. Parallel dazu in einem anderen Thread sollen die Testfälle ausgeführt werden, welche der Gruppe Group User B und der Gruppe Smoketest zugeordnet sind. Leider lässt sich das nicht so einfach in der suite.xml definieren, sondern ein eigener Listener muss geschrieben werden.

04. Januar 2014 Softwaretest von 0 Kommentare

Große Softwareprojekte benötigen zahlreiche Tests. Und so wächst mit dem Projekt auch die Anzahl der Testfälle sowie die dazugehörigen Codezeilenanzahl schnell an und erreicht einen unüberschaubaren Wert.

Neben den eigentlichen Testfällen stellen Hilfsmethoden, wie beispielsweise das Suchen von Elementen, das Vorbereiten von Testdaten und so weiter und so fort einen enormen Anteil der Codebasis der Tests dar. Oft beginnt man einfach damit die Hilfsmethoden irgendwie einzuordnen und das Ganze verliert dann mit zunehmender Zeit und stetig wachsender Projektgröße die Übersicht.

Also bedarf es einer guten Aufteilung.

25. November 2013 Softwaretest von 0 Kommentare

Gerade für mich als Softwaretester nimmt der Testprozess einer Anwendung einen bedeutenden Stellenwert ein. Stetig rückt in der heutigen Zeit das Test-Driven-Development, sowie die damit verbundenen Vor- und Nachteile in den Vordergrund. Aber auch das Testen allgemein hält immer mehr Einzug. Auf Komponententestbasis bietet es sich an maschinell prüfen zu lassen, welche Codeteile bereits durch geschriebene Testfälle abgedeckt werden.

Teaserpic Code-Coverage mit PHPUnit

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.