IT-Tester Werzeuge

Hallo,
ich möchte eine IT-Testerin werden. Ich habe gerade ein ISTQB® Certified Tester - Foundation Level Zertifikat gemacht.
Ich wollte eure Meinung kennenlernen, welche Werkzeuge die Tester am häufigsten in ihrer Arbeit benutzen. Ich habe gehört, dass Selenium und Cucumber populär sind. Kann man beide benutzen oder schließen sie sich gegenseitig aus? Ist Silktest schon absolete?
Welches Werkzeug lohnt es sich zu lernen?
Ich glaube noch wichtig sind: Grundkenntnisse von Java, GIT, SQL.
Könntet mir euch sagen was noch wichtig/populär ist?
Vielen Dank,
AnPo

Selenium und Cucumber haben unterschiedliche Zielrichtungen.

Selenium fokussiert auf Oberflächentest für Web-UIs, ist also ehr Application-Level Tests. Für Swing-Oberfläcen wäre das Robot-Framework

Cucumber ist ehr für Entwickler als für Tester, denn damit macht man “Behavior Driven Development”. Es lässt sich aber auch für Modul- und Unittests einsetzten. In die gleiche Kerbe schlagen spock und natürlich JUnit selbst. Auch damit kann man Modul- und Integratioentests machen und wenn man noch ein Mocking-Framework wie Mockito o.ä. dazu nimmt auch UnitTests.

Für die Testerei im allgemeinen ist fitnesse ganz nett, weil man die Dokumentation der Testfälle programmatisch an ein Testingframework (üblicher Weise JUnit) anbinden kann.

Apropos Dokumentation: Ich würde dringend von Word, LibreOffice oder Ähnlichem abraten. Der Vergleich verschiedener Versionen dieser Dokumente ist einfach nur grauenvoll. In der Regel reicht Markdown. Wenn’s optisch ansprechender sein muss würde ich auf LaTeX setzen. Da beides auf einfachen Textdateien beruht kann man das super im git zusammen mit dem getesteten Code einchecken und mit den git-tools vergleichen.

bye
TT

2 „Gefällt mir“

Kommt immer auch darauf an in welchem Kontext man testet und welche Kriterien man heranziehen möchte.

Wenn man seine Software auf eine bestimmte Last hin testen möchte, dann kann man zum Beispiel Gatling verwenden.

JUnit ist natürlich im Java-Bereich das A und O. Da führt kein Weg dran vorbei. Wenn man dabei bleibt, dann braucht man in der Regel meist auch ein Mocking-Framework. Die bekannten Kandidaten sind da JMock und Mockito.

Das nächste Fass, das man aufmacht ist dann Coverage. JaCoCo, EclEmma, Clover etc.

Da man aber nicht nur dediziert des Testens wegen testet, sondern der angestrebten Software-Qualität wegen, macht auch der Einsatz von anderen Tools durchaus Sinn. Angefangen von CI oder der schlichte Einsatz von Findbugs*.

*)Es erstaunt mich immer wieder, wenn man einfach mal Findbugs über Code laufen lässt von Teams, die das nicht nutzen. Da sind dann so Klassiker wie if (aString == "some String") zu finden, die da teils über Jahre rumschlummern.

In einigen Fällen kann es auch durchaus Sinn einen Fuzzer zu verwenden, da hier auch oftmals Dinge getestet werden, die man ansonsten nicht testen würde, die zu erstaunten Gesichtern führen.

Als Ergänzung zur Dokumentation:
Zusätzlich zu Latex eignet sich grad bei sowas Asciidoctor ziemlich gut, an manchen Stellen ist es mMn auch durchaus überlegen, zB wenns um Ausgabe als html oder das Einbinden von Code geht. Mittlerweile sind einige Projekte darauf umgestiegen, zB die genannten spock und JUnit oder auch Spring.

So beim überfliegen vermisse ich das Killer-Feature von Asciidoc gegenüber Markdown. Der Vorteil von letzterem ist, dass es direkt im GitHub (und ähnlichen git-Servern) angezeigt wird.

Einbinden von Quellcode geht mit dem {listings} package von LaTeX inzwischen super, da kann man sogar die Original-Dateien (im selben repository) auszugsweise einbinden, muss also den Code nicht mal kopieren.

Aber gut: die Diskussion, welches Dokumentationstool nun das beste ist sollten wir vielleicht in einem anderen Thread führen. An dieser Stelle nur so viel: solange es auf Plain-Text beruht ist es OK.

bye
TT