问题描述:
在等价类测试——Web开发中对于用户名输入的合法性验证(http://www.cnblogs.com/iProg/p/4356599.html)的基础上进行的进一步拓展,增加两个输入框,使三个输入同时进行等价类判断,只有当三个输入全部有效时才可判定成功,若存在某个输入或者多个输入非法,则判定失败,为了完成该目标,测试用例要同时考虑到三个输入的情况。
等价类划分:
有效等价类 | 无效等价类 |
length:1-6 | length: ..-0&&7-.. |
char: a-z&&A-Z&&0-9 | char: others |
测试用例:
测试用例 | 测试结果 | ||
12 | a1a1a2 | wwwSAA | 成功 |
spWjas | 123456 | 123ASD | 成功 |
AMDITE | 1264s | 1J | 成功 |
1111 | 223 | 失败 | |
失败 | |||
// | juju1 | JKUU5 | 失败 |
m*m | 24ufj | adsfa | 失败 |
1234567 | succ | seeese | 失败 |
7W7F | MMee5 | KKKKKK | 成功 |
12345 | 12345 | 12345 | 成功 |
555555 | MKUGYG | 000000 | 成功 |
……… | **** | 878ss | 失败 |
结果展示:
代码实现:
直接用html+JavaScript在记事本中方便实现:
1 <html> 2 3 <head> 4 <script type="text/javascript"> 5 function equalTest(){ 6 var name1 = document.getElementById('name1').value; 7 var name2 = document.getElementById('name2').value; 8 var name3 = document.getElementById('name3').value; 9 if(name1 == null || name2 == null || name3 == null) 10 { 11 window.alert("非法,不可为空"); 12 } 13 else 14 { 15 var nLen1 = name1.length; 16 var nLen2 = name2.length; 17 var nLen3 = name3.length; 18 reg=/^[a-zA-Z0-9_]+$/; 19 20 if(nLen1<1||nLen1>6||nLen2<1||nLen2>6||nLen3<1||nLen3>6) 21 { 22 window.alert("非法") 23 } 24 else if(!reg.test(name1)||!reg.test(name2)||!reg.test(name3)) 25 { 26 window.alert("非法"); 27 } 28 else 29 { 30 window.alert("合法"); 31 } 32 } 33 } 34 </script> 35 </head> 36 37 <body> 38 <input type="text" id="name1" /><br/> 39 <input type="text" id="name2" /><br/> 40 <input type="text" id="name3" /><br/> 41 42 <input type="button" onclick="equalTest()" value="确定" /> 43 </body> 44 45 </html>