等价类测试实践
本周上课学习了通过等价类划分来进行测试的方法。等价类划分就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,覆盖了更多的可能数据,以发现更多的软件缺陷。下面是一个简单的实践。
问题:检测输入是否合法,合法输入为1到6个英文字符或数字
划分等价类:
有效类 | 无效类 | |
字符长度 | 1到6 | 0,7 |
字符类型 | a-z A-Z 0-9 | 英文/数字以外字符,控制字符,标点符号 |
测试用例及结果:
用例 | 结果 |
空字符 | false |
A | true |
z | true |
sGdDdas | false |
1213 | true |
abc345 | true |
2@q.cn | fasle |
,, ..; | false |
gh 23k | false |
false | true |
通过js简单实现此功能:
<html> <head> <script type="text/javascript"> function test(){ var text=prompt(""); if(text=="") { window.alert("您的用户名为空"); } else { var num=text.length; reg=/^[a-zA-Z0-9_]+$/; if(num<1||num>6) { window.alert("非法输入") } else if(!reg.test(name)) { window.alert("非法输入"); } else { window.alert("合法输入"); } } } </script> </head> <input type="button" value="点击输入" onclick="test()"/> </html>