Eine Auswahl beliebter Testing Frameworks

10 Open Source Testing Tools: Welches passt zu mir?

Kypriani Sinaris

©Shutterstock/Michal Ludwiczak

Ist die Software erst geschrieben, muss diese auch geprüft und bewertet werden. Nun stellt die Open-Source-Community zahlreiche Test-Tools zur Verfügung – aber welches ist das richtige? Wir stellen 10 Testing-Tools vor, die jeder (Java-)Entwickler kennen sollte.

Cucumber

Quelle: https://cucumber.io/images/cucumber-logo.svg

Quelle: https://cucumber.io/images/cucumber-logo.svg

Lizenz: MIT-Lizenz

Aktuelle Version: 2.3.2

Link: https://cucumber.io/

Mit dem Software-Tool Cucumber können automatisierte Acceptance-Tests durchgeführt werden. Cucumber verknüpft Spezifikation und Testdokumentation, sodass diese nicht separat, sondern als ein zusammenhängendes Element behandelt werden können.

„Cucumber is for Behaviour-Driven Development“ so die Entwickler auf der Projektseite. Cucumber wurde ursprünglich für Ruby-Anwendungen geschrieben, bietet mittlerweile aber auch Unterstützung für die  JVM-Sprachen Java, Groovy, Scala, Clojure, Jython, JRuby, Rhino JavaScript und Gosu. Für Cucumber JVM sollte entweder der JUnit Runner, der CLI Runner oder Android Runner installiert werden. Alternativ kann auch ein Plug-in in IntelliJ IDEA oder ein Eclipse Plug-in für Cucumber verwendet werden.

Mehr Informationen auf JAXenter: Cucumber-JVM: Yet another BDD-Framework für Java

Selenium

Quelle: http://www.seleniumhq.org/images/big-logo.png

Quelle: http://www.seleniumhq.org/images/big-logo.png

Lizenz: Apache Licence 2.0

Aktuelle Version: 2.52.1

Link: http://docs.seleniumhq.org/

Mit dem Testing Framework Selenium können Tests für Webapplikationen in Java, C#, Groovy, Perl, PHP, Python und Ruby geschrieben werden. Selenium hat 5 Unterprojekte, die zusammen kombiniert ein komplettes Test-System bieten sollen: die Selenium IDE, das Selenium Client API, Selenium Remote Control, Selenium WebDriver und Selenium Grid.

Mehr Informationen auf JAXenter: Testen mit Selenium und Selenium im Grid parallelisieren

FitNesse

Quelle: http://www.fitnesse.org/files/fitnesse/images/fitnesse-logo-large.png

Quelle: http://www.fitnesse.org/files/fitnesse/images/fitnesse-logo-large.png

Lizenz: Common Public Licence

Aktuelle Version: Version 20151230

Link: http://fitnesse.org/

FitNesse ist ein Wiki und Acceptance Testing Framework in einem. Die Entwickler betonen, dass es aufgrund seines niedrigen Einstiegslevels vor allem für die Zusammenarbeit mit Business Stakeholder geeignet sei. So ist FitNesse ein Tool zum Spezifizieren und Verifizieren von Akzeptanzkriterien von Applikationen. In dem dazugehörigen Wiki Server kann die Software dokumentiert werden, durch das Schreiben von Spezifikationen kann so ein allgemeines Verständnis im Team erreicht werden. Da die Spezifikationen – oder Acceptance Tests – sowohl in der Wiki-Syntax als auch im Rich Text Editor geschrieben werden können, ist Kenntnis der Wiki-Syntax nicht zwingend erforderlich.

FitNess kommt beim Download als eine Java-JAR-Datei daher und kann auf Code angewendet werden, der in Java, Python oder C# geschrieben ist.

Gatling

Quelle: http://gatling.io/images/gatling-logo.png

Quelle: http://gatling.io/images/gatling-logo.png

Lizenz: Apache Licence 2.0

Aktuelle Version: 2.1.7

Link: http://gatling.io/#/

Das Load Testing Framework Gatling basiert auf Scala, Akka und Netty. Es will mit dynamischen Reports, hoher Concurrency-Rate, Unterstützung für Continuous Integration, Performance Testing und präzisen Metriken beeindrucken.

Eine ausführliche Einleitung in die Funktionsweise von Gatling finden Sie in der Kolumne von Niko Köbler. Sein Fazit: “Mit Gatling gibt es keine Ausreden mehr, Lasttests nicht durchzuführen.”

Mehr Informationen auf JAXenter: Mit dem Testen von Anwendungen ist es so eine Last. Erst recht mit Lasttests!

JUnit

Quelle: http://junit.org/images/junit-logo.png

Quelle: http://junit.org/images/junit-logo.png

Lizenz: Eclipse Public License

Aktuelle Version: 4.12

Link: http://junit.org/

Das Unit Testing Framework JUnit ist eines der verbreitetsten Tools im Java-Umfeld und wird für das Erstellen von automatisierten Unit Tests verwendet. Es ist Teil der Unit-Testing-Framework-Familie xUnit. Zu den Features von JUnit gehören Assertions für erwartete Testing-Ergebnisse, Testbausteine zum Teilen gängiger Testdaten und Test Runner für das durchlaufen von Tests. Momentan wird im Rahmen des Projektes JUnit Lambda an der Version 5 des Frameworks gearbeitet.

Mehr Informationen auf JAXenter: TestFX: JUnit-Tests für JavaFX und Logbuch JUnit Lambda: Zwischen Kickoff und Alpha kommt der Prototyp

API Summit 2018
Christian Schwendtner

GraphQL – A query language for your API

mit Christian Schwendtner (PROGRAMMIERFABRIK)

Appium

Lizenz: Apache Licence 2.0

Aktuelle Version: 3.4.0

Link: https://xebialabs.com/technology/appium/

Das Test-Automation-Tool Appium kann für das Testen von nativen, hybriden und mobilen Web Apps verwendet werden. Für das Tool spricht, dass Apps nicht rekompiliert werden müssen, da Standard-Automation-APIs zum Einsatz kommen. Außerdem können die Tests in Java, Objective-C, JavaScript mit Node.js, PHP, Python, Ruby, C#, Clojure oder Perl mit dem Selenium WebDriver API und sprachspezifischen Client Libraries geschrieben werden – je nach Anwendung.

TestNG

Quelle: http://20tvni1sjxyh352kld2lslvc.wpengine.netdna-cdn.com/wp-content/uploads/2014/08/testng-mini-logo.png

Quelle: http://20tvni1sjxyh352kld2lslvc. wpengine.netdna-cdn.com/wp-content/uploads/2014/08/testng-mini-logo.png

Lizenz: Apache Licence 2.0

Aktuelle Version: 6.9.10

Link: http://testng.org/doc/index.html

Das Testing Framework TestNG ist inspiriert von JUnit und NUnit. Vorteil dieses Frameworks ist, dass damit das breite Spektrum an Unit Tests und Integrationstests abgedeckt werden kann. Es können Gruppen von Testmethoden erstellt werden, die auch ineinander verschachtelt sein können. Außerdem unterstützt TestNG  Annotationen und ermöglicht parametrisiertes und datengetriebenes Testen.

JMeter

Quelle: http://jmeter.apache.org/images/logo.jpg

Quelle: http://jmeter.apache.org/images/logo.jpg

Lizenz: Apache Licence 2.0

Aktuelle Version: 2.13

Link: http://jmeter.apache.org/

Das in Java geschriebene JMeter ist für Funktions- und Performance-Tests von Webanwendungen prädestiniert. JMeter simuliert dazu eine hohe Belastung auf einem Server oder einer Gruppe von Servern, einem Netzwerk oder Objekt. Unterstützt werden mittlerweile zahlreiche Ressourcen wie REST/SOAP Webservices, Web-Sprachen (PHP, Java, ASP.NET, Files, etc.), Java-Objecte, Datenbank-Queries und FTP Server.

Tsung

Quelle: http://tsung.erlang-projects.org/

Quelle: http://tsung.erlang-projects.org/

Lizenz: General Public Licence v2

Aktuelle Version: 1.6.0

Link: http://tsung.erlang-projects.org/

Mit dem in Erlang geschriebenen Tool Tsung können Stress-Tests für HTTP, WebDAV, LDAP, MySQL, PostgreSQL, SOAP und XMPP Server durchgeführt werden. Tsung simuliert User, um die Skalierbarkeit der Performance von IP-basierten Server-/Client-Applikationen zu testen. Zu den Haupt-Features gehört neben hoher Performance auch die Möglichkeit, mehrere IP-Adressen auf einer Maschine zu nutzen oder das OS Monitoring.

The Grinder

Quelle: http://grinder.sourceforge.net/images/grinder-logo.png

Quelle: http://grinder.sourceforge.net/images/grinder-logo.png

Lizenz: BSD open Source Licence

Aktuelle Version: The Grinder 3

Link: http://grinder.sourceforge.net/

The Grinder ist ein Load Testing Framework für das Durchführen von verteilten Tests mit mehreren Load Injector Machines. Zu seinen wichtigsten Features gehört neben dem flexiblen Scripting in Jython und Clojure die Möglichkeit, alles, was ein Java API enthält, mit einem Load-Test zu prüfen – also http Web Server, SOAP und REST Web Services und Application Server.

Aufmacherbild: Glass in a chemical laboratory filled with colored liquid during the reaction von Shutterstock / Urheberrecht: Michal Ludwiczak

Geschrieben von
Kypriani Sinaris
Kypriani Sinaris
Kypriani Sinaris studierte Kognitive Linguistik an der Goethe Universität Frankfurt am Main. Seit 2015 ist sie Redakteurin bei JAXenter und dem Java Magazin.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: