51Testing软件测试论坛

标题: 在项目系统测试中,是否有必要考虑非法操作对被测系统的影响? [打印本页]

作者: 燕子东南飞    时间: 2009-5-26 15:05
标题: 在项目系统测试中,是否有必要考虑非法操作对被测系统的影响?
在以往的测试工作中,我们会考虑到系统对正常操作的支持和非法操作的支持。在曾经的工作中,对于这种问题,经常和开发人员发生争执。再此,我想和大家进行讨论一下这类问题,大家怎么看法。希望大家给与评价?谢谢!

我一般测试的主要考虑到以下问题。

正常的流程测试即依照需求以正确的流程进行测试,包括各个功能点。
例如:电子商务网站的订单发货已过账的退货流程,如下:
以下流程可能和大家所做的有所不同,但大部分都基本都是这个流程。

用户登陆网站——》2.挑选商品----》3.加入购物车------》4.填写收货地址------》5.选择支付/收货方式-----》6.订单确认----》7.收款确认------》8.发货过账------》9.申请退货------》10.填写退货单------》11.订单审核(退货)------》12.退款-----》13.退货完成。

注:在这个流程中主要要考虑到,正常的流程是否能正常的走通,每步所对应的系统数据是否正确,例如订单交易金额,退货后的财务凭证是否正确等。已经功能执行是否通过,例如点击确认付款后,这笔订单的金额是否将上传到ERP财务管理里面等。


错误的流程测试即不按照需求要求进行测试,也可以称为非法操作,包括各个功能点。
例如:电子商务网站的订单退货流程,如下:


用户登陆网站——》2.挑选商品----》3.加入购物车------》4.填写收货地址------》5.选择支付/收货方式-----》6.订单确认----》7.申请退货------》8.填写退货单------》9.订单审核(退货)------》10退款
注:这个流程中非法操作的地方是,订单在前台确认以后,没有经过收款确认和发货,就直接进行退货和退款。导致系统出错。记得当时我这样进行测试,得到部门人员的反对,说这是无效的,完全没有必要。我非常生气。我告诉他们,测试不仅仅是要考虑正常的操作下系统是否可以接受,还要考虑到错误操作下系统是否可以接受。如果仅仅考虑正常流程可以进行执行,是无法保障系统可以安全无误是执行,针对电子商务网站来说这些事非常有必要的。


对于系统中表单输入域的测试的必要性?
最近我在测试我们公司网站一个注册会员功能,其实这个测试应该说是比较简单的。
首先,我们会考虑用正常的数据进行测试,看系统是否可以接受,再就是错误的数据,看系统是否可以接受。
测试之前我先按照正确的数据进行测试之后,下来就是用错误的数据进行测试。在进行错误数据进行测试时,发现很多问题,大部分都是对于字段没有做边界上的限制,导致输入内容过长,系统就会报错,还有一些就是系统对于非法字符没有做严格的限定,导致输入报错。
而对于这样的错误,在开发人员眼里,这些根本就不是错误。他们的观点就是,用户不是傻子。而我认为,测试人员必须要站在用户的角度上来考虑问题。对于这样的错误,我觉得他们有必要进行输入内容验证。
作者: billhu    时间: 2009-5-26 15:50
当然有必要了。系统如果不能处理错误的输入,则可能造成:
1、垃圾数据进入系统,影响后续业务;
2、因为不能控制系统运行流程,系统可能处于未知状态,运行发生不稳定的情况,或者错误状态,影响正常业务;
3、还可能发生安全性问题,使得非法用户获得利益,或者系统不能提供正常的服务。
所以错误输入的等价类是完全必要的,只不过测试的优先级可以低一点。
作者: 燕子东南飞    时间: 2009-5-26 16:44
所言极是,谢谢这位兄才!
作者: r_sunny    时间: 2009-5-27 09:11
估计你公司的测试工作才开展没几年,大部分刚做测试的公司里开发人员的这种观点很普遍!

测试用例的编写方法:
1 首先要用边界值方法
2 其实再用等价类划分
3 再可以用错误估算法
4 ......

非法数据、操作一直就是我们测试特别注意的方面!
楼主应该和开发人员多沟通,也可以让公司配合开展一些测试知识培训,让开发人员的观点得到改变!
作者: chengxq    时间: 2009-5-27 09:25
不知道需求是如何定义的,但是按照正常的测试,无非分为2种,正常系和异常系
出现这种情况,可能像楼上所说,公司的一些测试理论的培训不足导致
对于这种情况,我不太清楚,测试和开发人员职责的划分,但是我想你应该准备
充分的证据,书面提交报告给相关人员,主要是高层,说明其中的问题点,以及
可能带来的影响
作者: 月上百合    时间: 2009-5-27 10:17
大部分都是对于字段没有做边界上的限制,导致输入内容过长,系统就会报错,还有一些就是系统对于非法字符没有做严格的限定,导致输入报错。

说的对啊,非法的字符有时候也控制不严格,像一个输入年月日的框框,一些无效的输入也没有控制,当我每次提出来的时候,他们会说这一点和以前版本一样,呵呵,好像我多事了一样,不过让我开心是的,他们还是会接受我的提议把它们控制一下的,
作者: ShelleyChen    时间: 2009-6-21 15:58
肯定要对异常情况进行测试的!
不说别的,如果是用户自己在操作时一时疏忽,进行了一些非法操作,而程序又没有对这些非法操作进行处理,有时后果会很严重的。
我测的时候就有这种情况发生,系统直接crash了。
作者: woza    时间: 2009-6-21 17:01
非法操作是否需要测试不能一概而论。软件开发的目的在于给予客户一定的商业价值。所以什么需要测试,什么不需要测试,也可以用是否具有客户价值来衡量。

如果是企业级别的软件,一般来说用户在使用之前都受到过相关培训,而且日常操作都有遵循一定的规律。在这种情况下,不在用户操作范围内的非法操作,我觉得都可以忽略。

如果是个人系统,比如说Windows,那又另当别论了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2