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特殊文字
<©&
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