Vergleich
Testmode gegen Selenium
Selenium ist der langjährige offene Standard für Browser-Automatisierung. Testmode beschreibt Tests in normaler Sprache. So unterscheiden sie sich, und wann welches die richtige Wahl ist.
Kurze Antwort: Selenium ist die richtige Wahl, wenn Sie breite Sprach- und Browserunterstützung, volle Kontrolle und keinen Anbieter dazwischen brauchen. Testmode ist die richtige Wahl, wenn die Pflege einer Selenium-Suite zu einer Aufgabe geworden ist, die niemand will.
Selenium ist das älteste und am weitesten verbreitete Werkzeug für Browser-Automatisierung der Welt. WebDriver, das darunterliegende Protokoll, ist ein W3C-Standard, den die Browser direkt umsetzen. Es verschwindet nicht.
Auf einen Blick
| Selenium | Testmode | |
|---|---|---|
| Tests verfassen | Java, Python, C#, Ruby, JavaScript | Normale Sprache |
| Wer Tests schreiben kann | Entwicklerinnen | Alle, die den Ablauf verstehen |
| Was Sie ab Werk bekommen | Nur Browsersteuerung | Verfassen, Ausführen und Auswerten |
| Testrunner und Zusicherungen | Selbst mitbringen | Enthalten |
| Pflege bei Oberflächenänderungen | Selektoren werden von Hand aktualisiert | Die KI interpretiert die beschriebene Absicht neu |
| Skalierung | Selenium Grid, selbst gehostet oder bei einem Cloudanbieter | Verwaltet |
| Kostenmodell | Kostenlos und quelloffen, plus Entwicklungszeit | Kommerzielles Produkt |
Wo Selenium das bessere Werkzeug ist
- Sie brauchen eine andere Sprache als JavaScript. Seleniums Sprachunterstützung ist unerreicht. Für ein Java- oder C#-Haus entscheidet das die Frage oft.
- Sie müssen Browser testen, die sonst niemand erreicht. Weil WebDriver ein Standard ist, den die Browser umsetzen, ist die Abdeckung breiter als die eines einzelnen Anbieters.
- Sie wollen keine Abhängigkeit von einem kommerziellen Produkt. Selenium ist kostenlos, quelloffen und wird von einer Stiftung getragen.
- Sie haben eine bestehende Suite und die Entwicklerinnen, um sie zu betreiben. Eine funktionierende Selenium-Suite ist ein Wert. Werfen Sie keine aus Neugier weg.
Der Teil, den Teams unterschätzen
Selenium gibt Ihnen Browsersteuerung und sonst nichts. Eine funktionierende Testsuite braucht außerdem einen Testrunner, eine Assertion-Bibliothek, Auswertung, Parallelisierung und eine Wartestrategie. Die setzen Sie selbst zusammen.
Die Wartestrategie ist der Punkt, an dem die meisten Selenium-Suiten schieflaufen. WebDriver versucht bereitwillig, auf ein Element zu klicken, das noch nicht gerendert ist — also schreiben Teams explizite Waits, dann noch mehr explizite Waits, und enden mit einer Suite, die sporadisch aus Gründen scheitert, die nichts mit der getesteten Software zu tun haben. Instabilität ist der häufigste Grund, warum Teams einer Selenium-Suite nicht mehr trauen — und ist das Vertrauen einmal weg, wird die Suite ignoriert statt repariert.
Testmode wartet so, wie ein Mensch es tut: Es sieht sich die Seite an und handelt, wenn das Benötigte tatsächlich da ist.
Wo Testmode besser passt
- Niemand will die Suite betreuen. Selenium-Suiten werden häufig geerbt, und wer das Framework geschrieben hat, ist meist gegangen.
- Tests schreiben ist ein Engpass. Jeder neue Ablauf braucht eine Entwicklerin. Testmode verlagert das Verfassen zu den Menschen, die die Anforderungen kennen.
- Ihre Suite ist instabil und niemand traut ihr. Bedeuten Fehlschläge nichts mehr, erfüllt die Suite ihren Zweck nicht.
- Sie haben die Software nicht gebaut. Page Objects gegen das Markup eines Lieferanten zu schreiben ist teuer und bricht bei dessen nächstem Release.
Die ehrliche Zusammenfassung
Selenium gewinnt bei Reichweite, Kontrolle und Preis. Es ist die richtige Antwort für Teams mit der Entwicklungskapazität, es ordentlich zu betreiben.
Testmode gewinnt, wenn genau diese Kapazität fehlt. Wenn Ihre Selenium-Suite langsam verrottet, weil ihre Pflege niemandes Priorität ist, behebt ein Frameworkwechsel das nicht — die Arbeit aus der Entwicklung herauszunehmen schon.
Noch am Vergleichen? Alternativen zu Selenium deckt das weitere Feld ab. Oder sehen Sie alle Vergleiche.