メインコンテンツへスキップ
SDETRole
SDETRole

テスト設計・開発ユーティリティ

テスト文字列生成ツール

カウンター文字列、指定長、Unicode、空白、検査用の文字列。

すべてブラウザ内で動作 登録不要

Generator

JS string length, which is what most maxlength checks count.

One non-digit character.

Common boundary lengths

Counterstring · 256 chars

JS length (UTF-16 units)
256
Code points
256
Graphemes (visible chars)
256
UTF-8 bytes
256

Reading a counterstring

Each * sits at the position written just before it, so *3*5*7*10* is 10 characters long. Paste it into a field and look at the end of what was saved: the last complete number followed by a marker tells you how many characters survived, plus any digits after it. For example, a 300-character counterstring saved as …248*252*25 was cut to 254 characters.

Measure any string

このツールについて

フィールドの長さ制限と文字の扱いは、入力に関するバグの多くが潜む場所です。このツールは指定した長さの文字列を作ります。James Bach のカウンター文字列にも対応しており、各マーカーは直前に書かれた数値の位置にあります(「*3*5*7*10*」は 10 文字)。そのため、値が切り詰められていれば、どこで切られたかが正確にわかります。厳選した Unicode のサンプル(アクセント記号、CJK、右から左へのテキスト、絵文字の ZWJ シーケンス、結合文字、ゼロ幅文字)、見た目が空白に似た文字、自分のアプリケーションの入力処理を確認するための定番の SQL・XSS・パストラバーサルのプローブ文字列も提供します。データベースのカラム、HTML の maxlength 属性、ユーザーはそれぞれ数え方が異なるため、すべての文字列について JavaScript の length、コードポイント数、見た目の文字数(Intl.Segmenter による書記素)、UTF-8 のバイト数を表示します。

使い方

  1. 長さのテストでは「Counterstring」(カウンター文字列)か「Repeat」(繰り返し)を選び、長さを入力するか、255、256、65535 などのよく使われる境界をクリックします。
  2. 文字列をコピーまたはダウンロードしてテスト対象のフィールドに貼り付け、何が保存されたか、どこで切られたか、エラーが表示されたかを確認します。
  3. 「Unicode」「Whitespace」(空白)「Input probes」(入力プローブ)のタブで個々のエッジケース文字列をコピーします。それぞれに、何を明らかにするための文字列かが記載されています。
  4. 「Measure any string」(任意の文字列を測定)に値を貼り付けると、各種の長さと、目に見えない文字を可視化したエスケープ形式が表示されます。

テスト文字列生成ツール のよくある質問

絵文字 1 つが 2 文字、7 文字、11 文字と数えられるのはなぜですか?

JavaScript の文字列の length は UTF-16 のコードユニットを数えます。基本多言語面(BMP)外の絵文字は 2 つ使い、家族の絵文字のような ZWJ シーケンスは複数の絵文字を U+200D でつなぐため、見た目は 1 文字でも length が 11、UTF-8 では 25 バイトになることがあります。制限がどの単位を数えるものかを決め、明示的にテストしてください。

255 と 256 のどちらの長さをテストすべきですか?

両方に加え、制限値そのものとその前後をテストします。フィールドが 255 文字まで許可するなら、254、255、256 をテストします。保存された値の末尾を見れば何文字残ったかがわかるので、カウンター文字列を使うと結果が読みやすくなります。

SQL や XSS のプローブ文字列を使っても安全ですか?

入力がパラメーター化され、出力がエンコードされていることを確認するために QA で使われる、標準的で破壊的でないプローブです。ご自身が所有するか、テストの許可を得たアプリケーションでのみ使ってください。正しく作られたシステムなら、単にテキストとして保存・表示するだけです。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →