对输入框进行探索性测试思路
作者:网络转载 发布时间:[ 2011/11/29 10:15:29 ] 推荐标签:
开发人员对于输入框的处理,莫非是输入过滤,输入检查和异常处理三种方式,输入过滤即用户输入非法值时自动过滤不会有任何提示信息,这也是与输入检查的区别所在。
1. 输入过滤的测试
对于输入过滤,大部分人能够想到的是输入合法的值,确认程序没有进行过滤,若程序把合法的输入归于非法一类,这是bug,还有一种情况是输入非法的值,程序能够过滤,若未非法的值进行处理,那这也是bug。
比如有些下拉框,其值都是固定的,这种也算做输入过滤,因为用户只能选择合法的值,但是这里有一个测试点,需要想到是否可以绕过过滤器,让非法的值进入,在web测试中,fillder可以帮助你拦截HTTP请求来篡改输入的值,让非法值成功攻入服务端代码中,接下来等待程序处理的结果,若服务端没有任何error-handling,恭喜你又发现了一个bug。
2. 输入检查的测试
在需求文档中都会规定此处的输入值长度,一般较重要的输入框,在web程序中都需在前端和后台做校验,来判断输入值是否合法,这里的处理方法一般有2种:接受合法值和拒绝非法值。如果输入的值不满足要求时,会给出友好提示信息。接下来逐个说明这其中的技巧。
以注册处的email为例, 程序可以对每个输入值判断是否能匹配email的正则表达式,若匹配程序正常进行,否则提示用户,这是接受合法值。还有种处理,对每个输入值与各种可能的非法email进行对比,若匹配上了,说明这个是非法的,程序拒绝处理提示用户,这叫做拒绝非法值。很显然对于异常情况非常多的时候,拒绝非法值不可取,当合法值的情况非常复杂而非法值很少时,可能拒绝非法又是另外种处理办法。测试人员在遇到这种情况时,可以通过询问开发人员获得具体的处理方法有助于更高效的测试。
在有提示信息和需求文档的同时,我们需要从提示信息中挖掘到更多的信息帮助我们开展探索,如果提示信息告诉我们“密码长度必须在6-12个字符”,或许我们应该对比这个数据是否与需求符合,同时提示信息告诉我们修改输入值使其在合法范围内,应该关注提示信息中的边界值5,6,12,13,5和13应该是非法值,6和12应该是合法值。说到这里突然想到一个案例,如果一次需求的变更,某个输入框需要把长度扩大,很多时候开发人员会忽略一点,忘记修改数据库字段长度,导致存储时抛异常。
3. 异常处理
对于输入框的测试,程序莫非通过IF() THEN() ELSE()或者CASE来对输入判断,若输入值合法,继续执行,否则给出提示信息。那么还有一些异常,比如程序处理超时或者数据库连接中断等等,是否也进行了handle,用户不想看到一些他们并不理解的错误信息,友好提示信息会让用户一定程度上对程序的异常给予原谅。
只有真正了解了业务需求和程序设计思路,才能更出色地做好测试工作。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11