文章目录

  • 用例设计的两种常见方式
    • 测试用例设计的很细
    • 测试用例设计的很粗
  • 测试用例颗粒度粗细的特点
    • 从用例设计角度
    • 从测试执行人员的角度
    • 从覆盖度的角度
    • 从用例可维护性的角度
    • 从用例消耗时间的角度
    • 从占用资源的角度
    • 从项目风险的角度
  • 如何选择用例的颗粒度粗细
    • 时间因素:
    • 项目人员
    • 质量要求
    • 资源配置
    • 需求变更
    • 项目对象
    • 测试团队素质
    • 公司决策投入
  • 如何有效度量测试用颗粒例粗细度:
    • 代码行数
    • 内部一致
    • 业务特点
    • 用例有效率
  • 用例的文字描述的粗细
    • 写给自己
    • 技术一般
    • 不懂技术
    • 举例说明

用例设计的两种常见方式

测试用例设计的很细

  • 设计用例考虑到每一个数据输入、每一个条件、每一个环境、每一个路径,那么测试用例的数量将是巨大的
  • 不依赖测试人员的责任感和能力,测试会降低风险,但是测试效率会很低,并且测试执行没有思考的空间
  • 自动化用例可以按照这个模式设计

测试用例设计的很粗

  • 用例设计考虑主要测试点,那么测试用例的数量较少
  • 测试效率可能比较高,测试人员有一个发挥的空间,使测试更有趣
  • 比较依赖测试人员的责任感和能力,风险大的多

测试用例颗粒度粗细的特点

测试用例是测试工作的核心。测试工作是讲究投入产出比的工作,这也是测试用例设计的指导思想。一下从各个角度来比较测试用例颗粒度粗细的不同点,从中可以得到如下结论:细颗粒度用例最大的风险就是可维护性,或者投入产出比不高,其他都优于粗粒度的测试用例

从用例设计角度

  • 粗颗粒度面向宏观,面向正向的功能点、大的功能模块和整体性,体现测试用例的设计思路
  • 细颗粒度面向微观,面对具体的一个个功能点的正向/负向逻辑,体现测试用例的细节和完备性

从测试执行人员的角度

  • 粗颗粒度用例不容易被测试新手执行,因为很多约定成俗的操作、现象,甚至行业术语都不清楚
  • 细颗粒度用例相对较易被测试新手执行

从覆盖度的角度

  • 粗颗粒度覆盖度可能小于细颗粒度用例(粗颗粒度只覆盖全部正向和部分负向,细颗粒度覆盖全部正向、负向、其他等)
  • 但还有一种可能性,就是粗细用例均覆盖全面,但是深度不同。类似下雨的降雨量不同,对农作物(产品)的意义不同

从用例可维护性的角度

  • 毫无疑问,测试用例和需求的匹配,测试用例本身的维护是大多数团队的工作难点重点,粗颗粒度便于维护,方便和需求保持高度一致
  • 细颗粒度用例,越细越不容易维护,维护成本过大,特别是需求频繁变更会导致不可维护,类似的概念,比如 自动化测试环节,GUI不停改变导致的脚本重写类似

从用例消耗时间的角度

  • 粗颗粒度构架和评审的时间较短,适合周期较紧的项目
  • 细颗粒度构建和编写的时间较长,适合周期宽松或更倾向于质量的项目

从占用资源的角度

  • 粗颗粒度占用资源较少(人力、评审、会议室等),适合小团队或同一团队多项目模式
  • 细颗粒度占用资源较多,适合大团队或单一项目模式

从项目风险的角度

  • 毫无疑问,粗颗粒度用例的风险是漏测,存在很大概率漏测的风险,依赖于测试人员的个人素质
  • 细颗粒度也存在漏测,不过相对更可能是测试人员自己的想当然跳过用例不执行

如何选择用例的颗粒度粗细

时间因素:

  • 时间短、项目紧、编写用例评审时间较短时,适合粗颗粒度用例
  • 项目周期较长时,适合细颗粒度用例
  • 说明:
    • 比如规划六个月的项目,计划阶段和设计阶段有一个半月,测试前期进入,有足够的时间来进行人员培训、测试用例编写,需要细颗粒度。
    • 如果项目是一个月,测试准备时间只有五个工作日,那么可能在第三天就要完成第一轮的测试用例评审, 建议以粗颗粒度为主,覆盖功能和体现思路。

项目人员

  • 测试人员中熟手多,思路和基础技能扎实,或测试人员构成责任心高时,可以采用粗颗粒度用例
  • 测试人员新手多,需要再指导下进行基础测试工作,或责任心一般时,需采用细颗粒度用例
  • 说明:
    • 测试人员熟手和新手的区别,大家一目了然。在这里,特意把责任心作为测试用例编写粗细的一个判别标准。
    • 实际上,测试人员的职业素质中,就有责任心一项,这种品质方面的要求因人而异——而且每个人都肯定对自己的责任心还自我感觉良好。

质量要求

  • 项目质量要求一般,或项目为过渡项目,生命周期短;项目为临时项目时,可采用粗颗粒度用例。
  • 项目质量要求高,客户或公司对质量的定位为第一位,品牌工程项目,采用细颗粒度用例。
  • 难道不是所有的项目都是高质量高要求的么?当然不是。
    • 不同国家和民族的人对质量的要求是不一样的:美国是够用就好,德国是精益求精, 中国是当场不挂就行。
    • 不同产业链位置的公司对质量要求是不一样的:顶级公司做完美的产品,中级公司做性价比高的产品,底层公司做廉价的产品。
    • 不同定位的公司对质量的要求是不一样的:在火车站门口的饭店吃的是客流量,在市区偏远地方的饭店吃的是回头客。
    • 不同目的的单子对质量的要求是不一样的:做账拉回扣的虚项目,中标后无人使用,三年后设备升级,质量就没有要求。做重点项目,质量要求苛刻等。
    • 所以,肯定会有不同的项目质量性质。也自然有不同的测试策略和测试目的,顺序导出的就是不同颗粒度的测试用例。

资源配置

  • 资源配置较少,无法实现测试用例的细化时,可以采用粗颗粒度的测试用例。
  • 资源配置较多,可满足用例编写、评审、修订的交叉进行时,可采用细颗粒度。
  • 举例:
    • 如果测试人员配置较少,一共就三五个人,每人负责一个项目,彼此没有时间去做评审,甚至项目都存在临时增多的现象,就无从谈起测试用例的细化,甚至粗颗粒度都较难实现,只能拉一个测试大纲出来。
    • 或者测试团队有十多个人,但是项目是流水式过来的。需求、开发、测试是流水线模式处理大批量的项目,无法做到一个项目的全流程参与时,也很难展开测试用例评审、修订以致细化事宜。

需求变更

  • 需求变更较多时,建议采用粗颗粒度的用例,可较灵活的覆盖需求。经过一轮轮的评审,等需求基线化之后,在实际的滚动测试中,在逐步细化用例——根据项目实际情况。
  • 需求变更较少时,或需求变更波及较小,不是系统设计框架的频繁改动——具体的标准需要不同行业产品的评估,可对应较大的细化测试用例变更量。
  • 举例:一个需求,粗颗粒度的用例为100条,细颗粒度的用例为10000条。此需求变更,如果要修改粗颗粒度的用例,只需要修改10条;修改细颗粒度的用例,牵扯到细化的交叉逻辑,需要审阅2000条用例并可能修改1200条。如果测试用例修改人非测试用例编写人,则修改时间还可能延长1.3倍。

项目对象

  • 如果项目/产品最终面对的客户是特定人员、专业人员、技术人员、培训后的操作员,可以采用粗颗粒度的用例。
  • 如果项目/产品最终面对的客户是广义的使用群体、人民大众消费者,要采用细颗粒度的用例。
  • 面对不同对象的测试侧重点:
    • 面向专业人员的项目/产品,测试倾向于正向测试,一些问题或使用方式在规定、需求之外,可以在培训或规范中指定操作模式,或凭借技术人员的功底来避免问题。
    • 面向非专业人员的项目/产品,无法做到培训和操作约定,各种稀奇古怪的使用方法,操作习惯,所以更倾向于细颗粒度,覆盖负向和随机操作的测试用例。

测试团队素质

  • 团队个体素质较高,可适应粗犷、敏捷的风格时,可以采用粗颗粒度的用例。
  • 团队处于成立初期或磨合期,需要细化的规则约定来指导时,采用细颗粒度的用例。

公司决策投入

  • 公司对测试工作的投入,对产品质量的要求,对行业节奏的把握。具体分析,可参考项目质量部分的内容

如何有效度量测试用颗粒例粗细度:

代码行数

  • 颗粒度可以跟代码行数对应:一般来说代码量越大,内部逻辑就越复杂,出现bug的的可能性也越高。对应的测试粒度也越小。

内部一致

  • 测试团队内部对粒度达成一致,适当把握颗粒度:明确测试用例编写的颗粒度,大家都有这种感觉,你写测试用例,你测试这个产品的时候,你十条测试用例就测试完了,有人写三十条,你就觉得奇怪,我觉得十条已经是局限了,怎么你能写到三十条,你去看他的用例,发现这也能算一条,这是组织内部测试用例颗粒度没有达成一致。

业务特点

  • 颗粒度要适合业务的需要:各公司测试用例设计的粒度不同,适合自己的需要,适合业务的需要即可,测试用例的数量统计方法,我觉得说明不了测试作得是否专业。

用例有效率

  • 测试用例设计的覆盖率和有效性,才是说明测试是否专业的依据之一 :对于进行 工作 量的统计还可以,不过用例还是不能简单的以数量来看,设计一个很简单的功能点的用例可能很容易,可能一天能设计十个这样的用例,但是对于一个相对复杂的功能,可能一天才能准备两个用例,光靠数量是说明不了问题的。

用例的文字描述的粗细

**测试用例粗细的另外一个概念:用例的文字描述粗细。**在写测试用例的时候你们会遇到类似的颗粒度的问题。

写给自己

  • 第一类是写给自己,以及懂这个技术的,差不多水平的同事看的。这样只需要大致的描述核心关键点就可以。

技术一般

  • 第二类是给技术一般的员工,但是有一定底子的人看的,这样基本的概念就不用描述,整体步骤描述清楚就可以。

不懂技术

  • 第三类是给不懂技术,只会看图一步步操作的外行看的,这样就要详细细致的描述基本概念,步步都截图,傻瓜式的对比参照的搞过去。

举例说明

  • 举个例子,使用ping 命令

    • 第一类写法:如果网络不通,使用ping命令测试一下网络是否通畅。
    • 第二类写法:如果网络不通,在cmd模式下,使用ping X.X.X.X 的命令格式,测试一下网络是否通畅。
    • 第三类写法:如果网络不通,点击开始,选择运行,然后在运行框里输入cmd,然后在弹出框里面,使用ping X.X.X.X 的命令格式,如果显示Reply from X.x.x.x bytes=32 time=3ms TTL=64,就是通畅,其他显示就是不通畅

测试用例设计-颗粒度相关推荐

  1. 测试用例颗粒度实例列举

    引言:昨天文章谈及到测试用例设计的颗粒度有人问 # 颗粒度如何划分? # 颗粒度粗细与什么有关? 网上释义大把个人觉得还不够通俗,我就在通俗描述一下从以下几点去梳理梳理... 颗粒度分类 - 粗颗粒度 ...

  2. 软件测试之测试用例颗粒度问题

    下面给大家讲解一下测试用例颗粒度的知识: 颗粒度与测试的关系 如果把测试用例设计得很细,照顾到每一个数据输入.每一个条件.每一个环境.每一个路径,那么测试用例的数量将是巨大的,虽然风险很小很小,但是测 ...

  3. uat测试用例和sit测试用例_软件测试用例设计时的颗粒度

    很多工作了好几年的测试工程师初次听到"用例的颗粒度"的时候会感觉很惊讶,这是个什么东西?我们工作里用到过?其实在实际的工作当中已经有意无意的涉及到了"颗粒度". ...

  4. 软件测试颗粒度,测试用例之度——系列之颗粒度(上)

    测试用例颗粒度粗.细的特点是什么? 用例设计分析: 粗颗粒度面向宏观,面向正向的功能点.大的功能模块和整体性,体现测试用例的设计思路:细颗粒度面向微观,面对具体的一个个功能点的正向/负向逻辑,体现测试 ...

  5. 软件测试颗粒度,测试用例粒度粗细的划分

    在设计测试用例工作中,把握测试用例粒度的粗细是件很伤神的事:测试用例写得很细,会带来很多问题:首先是效率问题,测试人员的首要任务有效地测试产品尽可能多的发现产品缺陷,如果测试用例写的过细,在设计测试用 ...

  6. 空气颗粒度PM2.5的检测设计与实现

    利用arduion开发板,空气颗粒度的检测装置来制作空气颗粒度的检测设备! PM2.5是指大气中直径小于或等于2.5微米的颗粒物,也称为可入肺颗粒物.虽然PM2.5只是地球大气成分中含量很少的组分,但 ...

  7. 软件测试理论之测试用例设计六把刀

    日常设计测试用例的时候,有许多经典的测试理论.比如边界法.等价法,这些经常用到我们日常的工作中.当然也有许多的理论,比如正交分解法是使用起来非常费劲.往往转化为实际的容易理解的测试语言就非常困难. 测 ...

  8. 【经验】软件测试用例设计之错误推测法

    方法定义 错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法. 主要还是一个慢慢积累的过程.一般来说,常见的错误推测法都是 ...

  9. 细颗粒度Singleton模式实现

    作为一个很典型的设计模式,Singleton模式常常被用来展示设计模式的技巧,并且随着技术的演进,.NET语言和Java都已经把经典<Design Patterns : Elements of ...

  10. 蓝牙耳机测试用例_移动端测试用例设计总结,这些你得懂!

    一.前言 作为移动互联网产品最后一公里的守护者,我们必须要清楚的知道自己该做什么.怎么做.但从版本迭代速度.需求量级.测试人员不断变动等方面综合来看,我们很多人都没有做好充分的准备.测试方法落后.测试 ...

最新文章

  1. instanceof 内部机制
  2. HBase在阿里搜索中的应用实践
  3. 关于三维莫队问题的一些思考和探究
  4. java中多条件与不定条件查询
  5. 量化投资交易 vn.py
  6. Python Selenium之异常处理
  7. Matlab PlotPub绘图工具箱
  8. XJOI contest800
  9. SDJZU-墓碑上的文字
  10. 常见植被指数总结(一)
  11. 编写SQL语句,从Orders表中检索顾客ID(cust_id)和订单号(order_num),并先按顾客ID对结果进行排序,再按订单日期倒序排列
  12. 一文了解啤酒、葡萄酒、黄酒的种类
  13. php两个问号??表示什么意思
  14. 加拿大主教大学计算机世界排名,加拿大大学计算机专业排名
  15. win10多用户同时远程桌面登陆Termsrv.dll(允许多个RDP会话)-win10最新2004版。
  16. 通过海康sdk实现指定时间段内的录像文件下载
  17. 技能梳理36@淘宝/天猫数据爬取
  18. 大前端学习记二开发准备
  19. STM32基础学习笔记(2)---独立看门狗
  20. 小程序源码:宅男必备福利壁纸大全自动采集微信小程序

热门文章

  1. 微信小程序实现全局登陆状态
  2. JSP无法加载静态资源:Failed to load resource: the server responded with a status of 404 ()
  3. word文本框被锁定解锁_如何在Word中锁定文本框
  4. 【Alpha阶段】展示博客发布!
  5. mandriva csdn_与Google的双重开源Mandriva告别,还有更多新闻
  6. 视频压缩编码和音频压缩编码的基本原理
  7. 每天吃一碗,肾不好都不行!
  8. lanp+nginx实现动静分离
  9. 联想裁员与全球化背景下的知识阶层失业
  10. 多渠道打包中优雅的配置渠道签名