飴ブロ(仮

パインアメでおなじみ「ぱいん」のブログ。略して、飴ブロ(っていったら許してもらえますか?

モバイルテスト用の呪文を生成してみた

こちらは「ソフトウェアテスト Advent Calendar 2022」の9日目の記事です。8日目は@mballさんの「Reactコンポーネントの単体テスト書いてて困っちゃった - Qiita」でした(定型文)

qiita.com

書きながら、これは小ネタだったとツッコミを入れているぱいんです。気にせず行ってみましょう。

ぱいん🍍 (@pineapplecandy) / Twitter

文字で起きてほしくないこと

文字の入力や表示に関して起きてほしくないことを思いつく限り、書き出してみました。

  • フリーズ: 普通に困る
  • クラッシュ: 普通に困る
  • サーバダウン :困るどころではない
  • 文字化け: いわゆる豆腐になったりして、情報が読み取れなくなる。
  • 見切れる: 必要な情報が読み取れなくなる。特に、契約事項だったりするとクリティカルな問題になりうる。
  • 読み上げられない: テキストリーダー、音声案内アプリなどで混乱する
  • 操作不良: 書き込めなくなる、消せなくなる

文字による過去インシデント

ぱっと調べただけでこんな感じでした。大小含めるといくらでもあると思います。

gigazine.net

  • 特定文字によるクラッシュ(iPhone)

gigazine.net

きっかけ

リナさんが「例の呪文」というブログ*1github*2で呪文を公開されていました。

ウェブ系だとかなり助かっていたのですが、モバイルアプリのテストをするためには拡張したいなという気持ちになりました。

そんなこんなで作ってみた呪文

🥹Juegas◻︎髙﨑☺ϴϵ⅊葛葛󠄀か゚ÅÄ柿杮®鴎鷗𩸽🫣

はてなブログだと化ける文字があるので、下にスクショにしています。

↓↓↓↓↓↓

呪文のスクショ

↑↑↑↑↑↑

呪文の解説

先に言い訳を書いておくと、文字種の全パタンを取り込むのが理想だと思いますが、(私が開発しているシステムが)そこまで文字の全網羅を目指しているシステムでもなく、また、長くなりすぎると確認に時間がかかるので、呪文は実用的な範囲+個人的に気になることに絞っています。また、言語も日本語+αとなっています。

  • 🥹 :Emoji14.0で追加された絵文字。iPhone iOS 15.4、 Android 12L以降で対応。なお、🥺は涙を浮かべていない。

lets-emoji.com

  • Juegas◻︎ :PlayStationの不具合を引き起した呪文の引用。なお、□に見えている文字は、元から化けているのでバグではない。

  • 髙﨑 :日本の姓でよくでてくる異体字の定番。リナさんの例の呪文から引用。

  • ☺ϴϵ⅊ : Unicodeの文字たち

  • : 前者が正字葛飾区のページが詳しい。呪文には入れたつもりではあるが、はてなブログでは区別できなかった。

  • か゚ : JIS X 0213:2000の合成文字。個人的に好きだったので追加。

  • ÅÄ:長さの単位オングストロームとドイツ語などで用いられるウムラウト(トレマ付き文字)。こちらは趣味で入れました。

  • 柿杮 :「かき」と「こけら」。フォントによっては同じ文字に見えるため。

  • ®: 登録商標マーク。「™」(トレードマーク)と並んで結構使う

  • 鴎鷗: かもめ。前者が異体字。後者が正字

  • 𩸽 : テスターが大好きな魚といえば「ほっけ」。JIS 第4水準

  • 🫣 :Emoji14.0で追加された絵文字。先頭の文字と同じ。覗き見る顔。

最後に

日本語だけでも調べてみると、思ったより奥が深かったです。みんなも自分の用途に合った呪文を作ってみると良いと思います。作ったら教えてください!

参考

文字集合の包含関係とテストに使うべき文字

miau.hatenablog.com

② 例の呪文 - テストする人。

underscore42rina.hatenablog.com