测试小故事67:错误

  错误,指不正确、与客观事实不符。

  系统错误,指与系统需求描述或客户要求不一致。


  最近时常想一句关于系统错误的描述:系统错误有两种表现形式,明显找不到错误 和 找不到明显的错误。

  差别在哪?修饰,对错误的修饰:错误 和 明显的错误。


  最近一些项目的测试工作有点特别:部门新接手的维护型外包项目,项目本身没有完整的需求规格说明,变更内容不多,变更范围仅限于变更点的说明,要求测试人员对变更项进行测试。负责开发的人扔下一句话,测试简单点点没有错误就好了。

  什么叫“简单点点”?什么叫“没有错误”?

  添加的输入框可以正常输入和显示?更改的提交按钮可以正确提交?还是看看整个系统页面看起来一切正常?

  想来,这“简单点点”产生了“没有错误”的结论,是“没有明显的错误”,也就是所提到的“找不到明显的错误”。

  当然,仍可以认为是“找不到错误”,只是这里的错误在一系列特殊要求之下深埋在系统之中,显的并不是那么明显。


  系统错误的不明显可能由两个方面造成。

  1)系统功能开发者自身将错误埋的很深。

     这个问题可能是由于系统架构设计复杂、各功能部分接口定义和实现不清晰,使得系统错误深深的埋在了底层,发现起来相对较难;其次问题可能是由于开发者自身对于功能的理解不深、对实现的技术细节不能很好的掌握造成的,业务细节处理不到位,技术细节和异常处理不清晰。

     所有的这些都使得系统错误深深的埋藏于系统内部,无论是架构人员、开发人员、测试人员和业务人员都很难找到这些“不明显的错误”,看似一切正常,一但错误暴发就会引起系统大范围的异常(最常见的就是内存缓慢泄露)

  2)系统功能测试者的测试工作做的不充分。

     这个问题可能是由于测试本身对于系统需求理解不充分、对于系统所涉及的专业领域知识不了解,因此测试深度不够,只是发现了表层的错误,使得系统看起来一切正常,没有明显的错误。

     或者说系统的可测试性不高。


  问题有了,如何解决?

  1)从设计做起,厘清关系,降低系统设计的复杂度(业务复杂并不代表设计也要复杂),高内聚低偶合;

  2)从开发做起,加强功能细节的了解,加强所需开发技能的理解,降低由于技术本身造成的内部错误;

  3)从测试做起,加强系统的业务学习,加强对测试设计、开发的产出物测试力度,增强测试的深度和广度,不仅仅是UI层的测试,更多的是做些底层的UNIT和集成测试,从最基础部分保证系统的正确性,减少系统隐患。


  质量不是某个人或是某些人的事,所有参与者的高质量意识才能最终合力生成高质量的产品。

  防患于未燃,如果做不到明显没有错误,那么就让错误从底层浮上来,让系统更易测,让错误显现出来,避免看似天下太平,实则危机四伏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值