【腾讯TMQ】再不建模你就out了

导语

加入测试建模小组八个多月的时间,在日常的测试工作中,经常会有身边的小伙伴们对我们的建模很好奇,会问“什么是测试建模?”“为什么要测试建模?”“建模能给我们带来什么好处?”“建模和我们现在的测试设计区别到底在哪里?“等等诸如此类的问题。思来想去,实在有必要跟大家分享下自己对测试建模的一些想法,如有不正确的地方,欢迎指正。

一、为什么要测试建模?

抽象是认知事物的一种关键途径,是人类智慧的体现。比如,在立体几何中,三维坐标用于抽象世界空间(X+Y+Z);在地理学中,地图用于抽象生存空间(交通路线+标志性建筑+其它);在生活中,身份证用于个人身份抽象(身份证号+照片);在软件工程中,类/结构体用于目标的抽象等。可以说,抽象是为了用少量的特征或属性来给对象打标签,这些标签要具体、可度量,且识别性强等。抽象这个词大家都不陌生,那么建模是什么呢?我认为,建模是对目标进行的系统的、结构化的、多层次的和多视角的抽象。我们知道,软件测试是一个复杂冗长的工作。我们是否能够通过对待测试目标进行抽象和建模来指导我们的测试工作呢?下面我将从测试建模的必然性以及它的重要性两个方面来阐述我们为什么要测试建模。

1.1测试建模的必然性

当前的软件测试它包括哪些方法呢?我觉得下面这张图承载的内容非常的立体丰富,基本涵盖了软件测试的主要方法。软件测试,它是一个系统工程。可以从单元测试到系统测试;可以从压力测试到功能测试;从黑盒测试到白盒测试等。随着软件容量的扩增和软件需求的变更,常用测试方法需要重新设计和增加测试用例,而一些特定用处的测试用例会变得越来越不重要,尤其是复杂系统的潜在问题会更加隐蔽,导致常用方法更加捉襟见肘了。

1常用的软件测试方法

系统的规模越来越大,测试工作越来越复杂,工作量越来越繁重,如何减少测试过程的盲目性,提高测试过程的效率,基于模型的测试(Model-based testing, MBT),MBT应运而生。它具有科学性、系统性和指导性,为我们的思考、实践和测试工作指明了方向。

2 MBT的特性

对于有测试工作经验的人而言,它能激发你的头脑风暴,锻炼你的思维方式,让你高屋建瓴,有理有据;对于初次接触测试的人而言,它能诱导你特异才华的展现,用一种不一样的视角来看待软件建模,给老司机们带来惊喜。可以说,测试建模能够挖掘出团队和个人的潜能,让大家能够多层次、多视角来认识和量化待测试目标,从而更加系统科学地指导软件测试工作。

1.2测试建模的重要性

通过对系统的行为(Behavior)进行抽象和建模,MBT能够处理好常用方法的困难之处。一项调研统计发现,MBT能够额外检测出59%的Bugs,降低17%的测试费用并缩短25%的测试时间。它已经成为测试管理的一个重要参考依据。实际上,在设计测试用例之前,我们的头脑中已经有一些需要面对的测试场景以及一些大致的测试思路,也可能有功能清单或某种图表,

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值