对输入框进行探索性测试思路

发表于:2011-11-28 10:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:zzzmmmkkk    来源:51Testing软件测试网采编

  开发人员对于输入框的处理,莫非就是输入过滤,输入检查和异常处理三种方式,输入过滤即用户输入非法值时自动过滤不会有任何提示信息,这也是与输入检查的区别所在。

  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软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号