局部探索式测试法

读了《探索式软件测试》这本书,觉得非常不错,把我已看的部分总结一下。

首先需要明白,所有的软件测试都会执行4个基本任务:接收输入、产生输出、存储数据、进行运算。
这里阐述一下用户输入的定义:输入必须导致软件运行代码,并以某种方式作为相应(不响应也是响应的一种)
关于合法输入和非法输入
一般需求文档中针对某个字段,会规定使用的字符类型。如测试电话号码,输入中文、英文就是非法输入。开发也必须要十分精确地知道什么是合法输入。针对非法输入,开发一般会写一段error-handling代码(实际上也许开发并不喜欢写这些代码,更喜欢写功能代码)。
开发处理非法输入的三种方式:

  • 1、输入筛选器 ;2、输入检查 ;3、使用异常处理
  • -

1、输入筛选器:会屏蔽掉非法输入,在我测试过程中,常见的有如下3种:a、使用下拉框,只让用户选择不能输入,如用户能从篮球、足球中选择

<select>
  <option value ="basketball">篮球/option>
  <option value ="football">足球</option>
</select>

b、对字符数进行限制,如控制input框中最多允许输入55个字符,
<input type="text" name="email" maxlength="55" />
c、对字符类型进行限制,控制input框中只能输入数字,如:

<input id="Text1" type="text" onkeypress="return IsNum(event)" />
    <script language="javascript" type="text/javascript">
        function IsNum(e) {
            var k = window.event ? e.keyCode : e.which;
            if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {
            } else {
                if (window.event) {
                    window.event.returnValue = false;
                }
                else {
                    e.preventDefault(); //for firefox 
                }
            }
        } 
    </script>

从测试的角度,需要检查如下方面:
a、开发是否正确实现了此功能,如果不小心把一个非法输入放到合法输入中,后果是很严重的。
b、是否可以绕过屏蔽器。如通过控制台编辑html源码修改选择的值,这都是很严重的问题。
2、输入检查:它会接收一个输入值,如果(if)输入合法,会处理它,否则(else)就产生一条比较精确错误信息并中止处理。
仔细阅读每一条错误信息,或许就能找到开发的实现思路,再不济也可以检查该信息是否写错了。此外,信息一般会指出当前值不合法的原因以及怎样修改会变成正确的值。
3、异常处理:不是针对一条具体的输入进行检查,而是把一段代码当做一个整体对待,产生的错误信息也比较笼统。
如果发现这种信息,可以反复测同一段函数,或稍微修改,看看会不会出错,或者是运行其他一些调用该函数的用例。比如,你在测试修改单据时,填了某个数字报404,此时可以试着把数字减到1000以内,或者更高。我曾测过一个大于1000的数前端没有格式化千分符,导致传入后端报错,使单据新增报404.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值