Über dieses Tool
Längengrenzen von Feldern und die Behandlung von Zeichen sind die Stellen, an denen viele Eingabe-Bugs stecken. Dieser Generator erzeugt Strings exakter Länge, darunter die Counterstrings von James Bach, bei denen jede Markierung an der Position steht, die direkt davor notiert ist („*3*5*7*10*“ ist 10 Zeichen lang). Ein abgeschnittener Wert verrät Ihnen also genau, wo er gekappt wurde. Außerdem bietet er kuratierte Unicode-Beispiele (Akzente, CJK, Rechts-nach-links-Text, Emoji-ZWJ-Sequenzen, kombinierende Zeichen und Zero-Width-Zeichen), Whitespace-Doppelgänger sowie klassische SQL-, XSS- und Path-Traversal-Probe-Strings, um die Eingabeverarbeitung Ihrer eigenen Anwendung zu prüfen. Für jeden String zeigt er die JavaScript-Länge, Codepoints, sichtbare Zeichen (Grapheme, über Intl.Segmenter) und UTF-8-Bytes, denn eine Datenbankspalte, ein HTML-maxlength-Attribut und ein Mensch zählen jeweils anders.
So funktioniert es
- Wählen Sie für Längentests „Counterstring“ oder „Repeat“ (wiederholen) und geben Sie eine Länge ein oder klicken Sie auf eine typische Grenze wie 255, 256 oder 65535.
- Kopieren oder laden Sie den String herunter und fügen Sie ihn in das zu testende Feld ein; prüfen Sie, was gespeichert wurde, wo abgeschnitten wurde und ob eine Fehlermeldung erschien.
- Kopieren Sie über die Tabs „Unicode“, „Whitespace“ und „Input probes“ einzelne Grenzfall-Strings. Zu jedem ist vermerkt, was er aufdecken soll.
- Fügen Sie einen beliebigen Wert in „Measure any string“ (beliebigen String messen) ein, um seine Längen und eine escapte Form zu sehen, die unsichtbare Zeichen sichtbar macht.
FAQ zu Teststring-Generator
Warum zählt ein einzelnes Emoji als 2, 7 oder 11 Zeichen?
Die String-Länge in JavaScript zählt UTF-16-Code-Units. Ein Emoji außerhalb der Basic Multilingual Plane belegt zwei, und eine ZWJ-Sequenz wie ein Familien-Emoji verbindet mehrere Emojis mit U+200D. Ein sichtbares Zeichen kann so die Länge 11 haben und in UTF-8 25 Bytes belegen. Legen Sie fest, welche Einheit Ihre Grenze zählen soll, und testen Sie das explizit.
Welche Länge sollte ich testen: 255 oder 256?
Beide, dazu die Grenze selbst und je einen Wert auf beiden Seiten. Erlaubt ein Feld 255 Zeichen, testen Sie 254, 255 und 256. Counterstrings machen das Ergebnis leicht lesbar, weil das Ende des gespeicherten Werts zeigt, wie viele Zeichen übrig geblieben sind.
Kann ich die SQL- und XSS-Probe-Strings bedenkenlos verwenden?
Es sind übliche, nicht destruktive Probes, mit denen QA prüft, ob Eingaben parametrisiert und Ausgaben codiert werden. Verwenden Sie sie nur bei Anwendungen, die Ihnen gehören oder die Sie testen dürfen. Ein korrekt gebautes System speichert und zeigt sie einfach als Text an.