测试用例之度——系列之颗粒度(上)

简介:

测试用例是测试工作的核心。测试工作是讲究投入产出比的工作,这也是测试用例设计的指导思想。

  测试用例有度的概念,正如亚里士多德在《伦理学》中讨论道德为例:道德意味着过与不及之间的状态。面向测试用例,网上流传着这么一句话:“不同的机构会有不同的测试目的;相同的机构也可能有不同测试目的,可能是测试不同区域或是对同一区域的不同层次的测试”

  下面就列举测试用例设计的方方面面,看不同的团队,不同的测试目的,如何把握测试用例设计之度。

  颗粒度:

  颗粒度的粗细,有无标准?什么是粗?什么是细?

  1、以功能点划分?

  仅仅覆盖所有的功能性需求为粗?

  仅仅正向覆盖所有的功能需求(功能、性能)为粗?

  正向/负向覆盖所有的功能需求(功能、性能)以及正向覆盖性能需求为粗?

  正向/负向覆盖所有的需求为细?覆盖到产品包,涵盖兼容性、升级、安装、易用性为细?

  2、以STEP划分?

  每条用例有一个STEP为粗,三?五?十为细?以上为细?

  以测试设计思路的体现?

  只采用正向为粗?只采用正/负向为粗?考虑应用场景为细?考虑业务逻辑为细?

  3、以数量级?

  百条?千条?万条?

  4、以数据覆盖?

  等价类是粗?穷举是细?

  每个人、每个机构判定测试用例粗细的标准都不一样,没有标准的答案。所以测试用例颗粒度的粗细,本身就是一个相对而言的标准。

  尝试用图示来表示颗粒度粗细的常规概念:




 测试用例颗粒度粗、细的特点是什么?

  用例设计分析:

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

  面对测试执行人员:

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

  覆盖度:

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

  可维护性:

  毫无疑问,测试用例和需求的匹配,测试用例本身的维护是大多数团队的工作难点重点,粗颗粒度便于维护,方便和需求保持高度一致;细颗粒度用例,越细越不容易维护,维护成本过大,特别是需求频繁变更会导致不可维护。

  类似的概念,比如自动化测试环节,GUI不停改变导致的脚本重写类似。

  时间:

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

  资源:

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

  风险:

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

  细颗粒度用例最大的风险就是可维护性,或者投入产出比。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

目录
相关文章
|
2月前
|
人工智能 监控 安全
理性看待58倍收益!OpenClaw阿里云及本地集成 AI Agent 量化交易机器人保姆级策略教程
50美元启动资金,48小时滚增至2980美元——OpenClaw在Polymarket预测市场的实战案例,让不少人误以为“AI全自动炒股神话”降临。但深入拆解后会发现,这并非靠运气预测市场方向,而是利用预言机数据延迟的结构性套利:在中心化交易所价格变动与链上合约定价修正的2-5分钟时间差内,捕捉定价偏差获利。
807 5
|
11月前
|
存储 安全 芯片
内存卡无法识别或损坏?试试这些格式化工具
内存卡突然无法读取?别急着换新!本文教你使用专业格式化工具修复“未被格式化”或无法识别的内存卡,介绍Windows磁盘管理、Mac磁盘工具、DiskGenius及SD Card Formatter等实用方法,助你轻松恢复存储设备正常使用。
|
5月前
|
JSON Java fastjson
Spring Boot返回Json数据及数据封装
Spring Boot默认使用Jackson处理JSON,通过@RestController可直接返回JSON数据。本文详解Jackson与FastJson的配置与对比,并封装统一的JSON返回结构,提升前后端交互规范性与开发效率。
|
网络协议 Java
【Java】已解决java.net.UnknownHostException异常
【Java】已解决java.net.UnknownHostException异常
4991 0
|
存储 程序员 编译器
什么是内存泄漏?C++中如何检测和解决?
大家好,我是V哥。内存泄露是编程中的常见问题,可能导致程序崩溃。特别是在金三银四跳槽季,面试官常问此问题。本文将探讨内存泄露的定义、危害、检测方法及解决策略,帮助你掌握这一关键知识点。通过学习如何正确管理内存、使用智能指针和RAII原则,避免内存泄露,提升代码健壮性。同时,了解常见的内存泄露场景,如忘记释放内存、异常处理不当等,确保在面试中不被秒杀。最后,预祝大家新的一年工作顺利,涨薪多多!关注威哥爱编程,一起成为更好的程序员。
712 0
|
机器学习/深度学习 人工智能 算法
青否数字人声音克隆算法升级,16个超真实直播声音模型免费送!
青否数字人的声音克隆算法全面升级,能够完美克隆真人的音调、语速、情感和呼吸。提供16种超真实的直播声音模型,支持3大AI直播类型和6大核心AIGC技术,60秒快速开播,助力商家轻松赚钱。AI讲品、互动和售卖功能强大,支持多平台直播,确保每场直播话术不重复,智能互动和真实感十足。新手小白也能轻松上手,有效规避违规风险。
|
监控 测试技术 API
关于API接口的性能测试指南
要测试API接口的性能,需先进行功能测试,确保接口正常工作。接着编排性能测试场景,设置运行配置,使用工具如JMeter、Apifox等进行测试,监控性能指标,分析结果,优化调整,并将其纳入持续集成流程,确保高负荷下良好表现。
计算机网络——计算机网络的性能指标(上)-速率、带宽、吞吐量、时延
计算机网络——计算机网络的性能指标(上)-速率、带宽、吞吐量、时延
1738 1
|
安全 物联网 网络安全
智能家居安全:风险与防护策略
【6月更文挑战第20天】随着物联网技术的快速发展,智能家居系统逐渐融入人们的日常生活,提供便利的同时,也带来了新的安全隐患。本文从智能家居的安全风险出发,分析了当前智能家居系统面临的主要安全挑战,包括设备漏洞、数据隐私泄露和服务中断等问题,并探讨了相应的防护措施,如加强设备安全设计、采用加密技术保护数据、建立应急响应机制等。文章旨在提高用户对智能家居安全的认识,促进更安全的智能家居环境建设。
421 3
|
小程序 安全 测试技术
【软件测试】用例篇 -- 详解(下)
【软件测试】用例篇 -- 详解(下)