Webフォームの単体テストTips

Webフォームの単体テストTips

テストする時、文章何打とうかな…となるのでまとめる

引用:https://www.bricoleur.co.jp/blog/archives/4239

エラーチェック 入力パターン集

システム的に意味のありそうな文字列

,'" ./\=?!:;
","a","b"

CheckPoint! 送信後にシステムエラーが起きたり、登録したはずの値が途中で切れてたり、CSV出力がおかしくなったり、自動応答メールで文字化けする

環境依存文字

㌶Ⅲ⑳㏾☎㈱髙﨑

CheckPoint! 確認画面やデータベース、自動応答メールで文字化けする

javascript

<script>alert('Bug!!!');</script>

CheckPoint! この場合、確認画面などでアラート「Bug!!!」が表示される。

HTML

<input type="text" value="
<font color="red">

CheckPoint! この場合、確認画面などでテキスト入力欄が出てしまったり、それ以降の文字が赤くなってしまったり。

HTML特殊文字

&lt;&copy;&amp;

CheckPoint! これが<©&と出てしまう場合、エスケープがされてないということで誤動作を招く恐れがあります。

SQLインジェクション

';delete from user_table;
' or 1 = 1;

CheckPoint! SQLが正しくエスケープ、バインドされていないと、「user_table(例)」が全削除されたり、重複制限するような値がオールOKで通過したりします。

項目タイプ別

メールアドレス入力欄

!=()<>,;:\@”@example.com

CheckPoint! これらの文字が入っていてもメールが送信される処理まで行ってしまう

日付項目

数字を直接入れることもできる入力欄の場合、ゼロ埋めがあったりなかったり
2016/5/2 2016/05/02 2016/5/02
存在しない日付(うるう年ではないのにうるう日、存在しない末日)
2017/2/29 2017/6/31
CheckPoint! システムエラーが発生したり

数値項目

(1)ゼロ (2)半角空白 (3)少数ありの数字 (4)少数以下の数字 (5)マイナス (6)全角数字
(7)上限が決まっている場合の上限を越える値、上限の値、上限1つ前の値
(8)下限が決まっている場合、下限を下回る値、下限の値、下限1つ前の値

明細項目

意外と実施しないのですが、必ずMAX明細数まで入力、登録テストする。
そもそもMAX明細行のチェックを入れてない場合、データベースの明細NOの項目の桁数まで入れてみる。(999件とかキツいけど99件くらいならなんとか)
CheckPoint! 意外とMAX登録できなかったり、データベースエラー出たり

LEAVE A REPLY

*
*
* (公開されません)