写点什么

讨论:测试用例的粒度——粗细之争

  • 2010-08-05
  • 本文字数:1170 字

    阅读完需:约 4 分钟

测试用例的粒度一直是软件测试领域的热点问题,无论是粗粒度还是细粒度,都各有利弊。最近,淘宝测试团队针对该问题举行了内部辩论会,相关内容值得借鉴和思考。

正方观点:测试用例的粒度应该细点,主要体现测试细节。主要论据:

  1. 测试用例的编写就像是织网,而 BUG 就像是鱼,网织得越密,捕捉到的 BUG 就越多。
  2. 测试思想的学习并不是一蹴而就的。对一个新人来说,这种学习是一个渐进的过程,具体到每个项目,更需要用更精细的用例来保证测试的覆盖率。
  3. 设计详细的用例便于执行,便于新人理解,便于知识传承。

反方观点:测试用例的料度应该粗点,主要体现测试思想。主要论据:

  1. 粗并不等于简单。测试用例的粒度粗点,是建立在我们对需求完全理解,对设计完全掌握的基础上的粗粒度。这样我们可以避免繁琐的流程,提高测试执行的效率,把握重点需求。测试粗粒度可以避免陷入机械性的测试。
  2. 粗粒度的测试设计可以使我们把重点关注于设计,可以让测试往前走,在时间,资源有限的情况下,更高效地进行测试,保证产品质量。

随后,双方展开了自由辩论,其中不乏精彩的言论:

反方:思想就像大脑,测试用例是骨骼。在时间有限,资源有限时,必须要有所取舍,抓住主干测试,所以我们会追求白盒覆盖率而不是路径覆盖率。测试技能的提高是测试思想的不断丰富,测试手段的不断完善,而不是用例越写越细。 正方:在测试领域有 8:2 原则,80% 的 bug 源于经常修改的 20% 代码,测试用例的数量提升有利于减少这种 bug 遗漏。并且,越精细的用例越便于定位 BUG。

反方:就是因为我们的用例过细,导致在时间,资源紧张的情况下,导致覆盖率低,没有发现尽可能多的 BUG,相反,如果我们在测试设计的时候,放得粗,可以把主要精力放在测试思想上,这样就可以提高测试覆盖率,发现更多的 BUG。测试用例的设计要先搭一个整体的框架,然后再逐步完善。

最后,评委做了总结发言:

…从管理者角度来看,还是希望测试用例的粒度细点好。 测试用例的粒度取决于项目质量的要求、时间的要求、用户的要求。如果时间充足,就可以把用例写细一些,时间紧张,就写粗些。有个词叫测试艺术家。就是要我们掌握质量与效率之间的平衡。

我们的用例不管是细还是粗,它都是为了达到最终目的——保证产品质量。测试用例写粗点还是细点,可以用一个例子来说明。当我们刚学车的时候,什么时候打方向盘,什么时候踩离合,什么时候踩油门。都需要教练一步步教,要一步步来,这些都很明确的。当开车有一段时间后,什么情况下要做什么动作都会很自然,一气呵成。当我们的新人在进行测试的时候,需要很明确地知道怎么做,这时候用例就得细些。当成为一个很熟练的测试工程师的时候,设计用例时就不必纠结于这些细节了。每个阶段不同,做事方式就不同,只要满足结果就好。

淘宝内部辩论会结束了,但是对于测试用例的粒度的研究还在持续,读者对于这个问题怎么看?欢迎加入到讨论中!

2010-08-05 21:3137754
用户头像

发布了 501 篇内容, 共 258.5 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

专访 | 滴滴青桔资深设计师首次揭秘“实时云渲染+云展厅”设计

3DCAT实时渲染

云计算 云渲染 云展厅

好用易用的主机监控系统哪里有?主要监控指标包含哪些?

行云管家

运维 IT运维 主机监控 网络监控

作业3

dll

Arm vs x86: 解释指令集、架构和所有关键差异

吴脑的键客

android X86 arm

Java正则表达式语法大全

编程江湖

作业一

dll

作业2

dll

明道云实现产品BOM清单的快速搭建

明道云

中国边缘云基础设施服务市场份额,百度智能云第一

百度开发者中心

边缘计算 边缘云

百度专网地图,助力中国联通智慧运营

百度开发者中心

地图 智慧城市

Spock框架Mock对象、方法经验总结

FunTester

Mockito powermock Mock spock FunTester

开启报名!2021年度龙蜥社区优秀开发者评选,非你莫属!

OpenAnolis小助手

Linux 开源 社群 比赛

Hadoop小文件问题产生及解决方案

五分钟学大数据

hadoop 1月月更

一起玩转LiteOS组件:Opus

华为云开发者联盟

编码 LiteOS Opus LiteOS组件 pcm

工具 | 常用 PostgreSQL 预防数据丢失方案

RadonDB

数据库 postgresql 后端 RadonDB

大数据开发之通过 Spark 来扩展 Presto

@零度

大数据 spark

『内存中的操作系统』虚拟化是什么

soolaugust

操作系统 内存

淘宝小部件在 2021 双十一中的规模化应用

阿里巴巴终端技术

小程序 淘宝 双十一

3DCAT首届行业生态交流会|燧光CTO 戴景文:云渲染 XR大发展的助推器

3DCAT实时渲染

云计算 XR VR/AR 渲染

旺链科技加入工信部区块链重点实验室,深化数据安全产业融合

旺链科技

区块链 工信部 数据安全 Vone新闻

Linux之diff命令

入门小站

Linux

专注实时云渲染技术,3DCAT赋能行业伙伴云化转型

3DCAT实时渲染

云计算 VR/AR 渲染

3DCAT首届行业生态交流会|爱智慧科技有限公司CEO梁新刚:工业元宇宙的”形“与”神“

3DCAT实时渲染

XR VR/AR 渲染 元宇宙

百度专网地图,助力中国联通智慧运营

百度大脑

人工智能

知识中台,驱动产业智能化升级

百度开发者中心

知识图谱

基于端到端的实时计算加速技术

鲸品堂

软件 通信运营商

低代码实现探索(二十三)假如你会些游戏剧情脚本

零道云-混合式低代码平台

2022年企业数字化技术应用10大趋势

易观分析

银行数字化转型 企业数字化 后疫情时代企业应对策略 十四五规划

在线时间加减计算器

入门小站

工具

流处理组件Flume使用攻略

编程江湖

18 Prometheus之PromQL介绍

穿过生命散发芬芳

Prometheus 1月月更

讨论:测试用例的粒度——粗细之争_Java_崔康_InfoQ精选文章