浅谈测试用例设计

基于深度学习的Person Re-ID(综述) 一. 问题的提出        Person Re-ID 全称是 Person Re-Identification,又称为 行人重检测 or 行人再识别,直观上可以通过两种思路进行比对,一种是 通过 静态图像(still-image)进行特征比对,另一种是通过视频的时序特征(temporal)进行 Video Re-Id。        不管是采用 图像特征比对的方法 还是 结合时序特征比 阅读详情

前言

最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例?

可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例?

但是以我个人经历,以及一些接触来说,这个测试基本功确实不是那么容易做好的。可能很多人都觉得这个太基础了,往往就越容易忽略,而喜欢趋之若鹜的追求各种开发语言、自动化测试、测试平台这种上层建筑。

在我看来,业务测试是基础,其他的各种技术栈都是用来提效的手段,主次是分明的。另一方面来说,只有深入透彻得理解业务,才能更好的挖掘可以提效的点。

ok,言归正传,下面以我个人理解来浅谈如何设计测试用例,欢迎交流。

如何设计测试用例

一、研究需求文档

通常来说,正确的测试流程应该是:需求评审->测试用例设计->测试方案设计->测试环境\数据准备->提测后执行用例进行测试&查漏补缺,所以仔细的研究需求文档是重中之重。

一般来说需求文档里会定义产品的功能点,我们可以先通篇阅读对整个产品功能有个整体的印象,然后再开始从多个角度去深入产品细节中去,挖掘有价值的东西:

  • 产品显性功能点:这个很简单,就是产品里明确定义出来的内容。
  • 产品隐性功能点:产品没明确定义,但是会涉及到的功能点。
  • 疑问点:需求定义不清楚的地方,或者涉及到一些测试范围的确认等等。

在需求文档输出之后,一般相关部门也会跟着输出其他辅助文档,比如:UE交互文档,UI设计页面,这些可以更好地帮助我们形象化产品,更好的去设计测试用例。

二、知晓开发设计

需求确定后,开发一般也会开始进行开发设计。通常会有一些架构设计、流程图、时序图、接口文档等内容输出,千万不要忽略这些文档,我觉得是非常有价值的。

记住:就算是做黑盒测试,也不要把被测系统真正的当做一个大黑盒。

必须对内部的架构有清楚的认识,数据背后传输的链路、数据库的读写分离、消息中间件 Kafka 的配置、缓存系统的层级分布、第三方系统的集成等。

拿最近在忙的车控业务来说吧,当你在手机APP上点击开车门后,这个指令如何达到车端,车端又是如何返回结果的。整个链路经过了哪些服务,中间件等你都要清楚才行,否则你就不能说是真正地熟悉这个业务。不是真正的熟悉业务,那么又如何真正设计出一份优秀的测试用例呢?

单单根据测试需求点设计的用例,只能覆盖“表面”的一层,往往会覆盖不到内部的处理流程、分支处理,而没有覆盖到的部分就很可能出现缺陷遗漏。

另外,我们可以去了解开发的实现思路,有能力的童鞋或许可以直接去看开发代码。看不了的也可以通过跟开发沟通了解实现过程,这些对我们都有很大的帮助。

有时候开发在给你讲述实现过程的时候,甚至就能自觉地发现一些问题。

但是,我们也不要完全根据开发的代码实现为依据去设计测试用例,还是根据原始需求来设计。

三、用例设计方法

了解的足够多了,开始要去设计测试用例了。我们是先写脑图,记录出思路和问题点,最后我们才会编写Excel版的测试用例。一般传统互联网可能也不要求写Excel了,这个看不同公司规定。

然而不管你用什么形式,你还是要通过运用一些方法来设计你的case,这里提一下最常用的三种测试用例设计方法:

  • 等价类划分方法
  • 边界值
  • 错误推断法

当然了这里只列出了这三种,我觉得是最常用的,起码对于大多数的软件测试场景都是这样的。除非一些特定的领域,还会用到因果图方法、判定表驱动分析法、正交实验设计方法等等,这些就不表了。

方法在于你能真正的实际运用好才行,记得在面试的时候问到候选人类似问题,方法说的头头是道,让举个具体的例子有的人就开始支支吾吾了,这些都是基本功不扎实的表现。

四、多角度拓展

基本功能点都设计完了,就要站着更多的角度去拓展下,挖掘一些隐形需求了。比如:

  • 功能:与其他模块产生交互,集成测试是否充分
  • 性能:涉及到的接口是否存在压力场景,并发场景等
  • 安全:数据传输/存储的加密、是否脱敏等
  • 兼容性:不同设备、不同系统、不同屏幕是否显示完好,覆盖市面主流机型
  • 易用性:功能是否好友,提示是否友好等

最后感谢每一个认真阅读我文章的人!作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,坚持几天便放弃的感受的话,在这里我给大家分享一些软件测试的学习资源,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,希望能给你前进的路上带来帮助。如果你用得到的话可以直接拿走:

软件测试资料领取:[内部资源] 想拿年薪40W+的软件测试人员,这份资料必须领取~

软件测试面试刷题工具领取:软件测试面试刷题【800道面试题+答案免费刷】

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

保姆级教程:用Unidbg搞定阿里系App的x-sign和长x-mini-wua签名(附完整Java代码) 本文详细介绍了如何使用Unidbg框架模拟执行阿里系App的原生库,生成关键的x-sign和x-mini-wua签名参数。通过完整的Java代码示例和实战技巧,帮助开发者高效实现签名算法,适用于安全研究、数据分析和第三方应用开发场景。 阅读详情

相关推荐

010Editor实战:5分钟破解Zip伪加密文件(附BUUCTF真题解析)

本文详细介绍了如何使用010Editor快速破解Zip伪加密文件,包括BUUCTF真题的完整解析。通过修改关键字节,轻松解除伪加密状态,适用于CTF竞赛和实际工作场景,提升文件处理效率。

weixin_29325007的博客 326

【软件测试】浅谈测试用例设计

最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例?可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例?但是以我个人经历,以及一些接触来说,这个测试基本功确实不是那么容易做好的。可能很多人都觉得这个太基础了,往往就越容易忽略,而喜欢趋之若鹜的追求各种开发语言、自动化测试、测试平台这种上层建筑。在我看来,业务测试是基础,其他的各种技术栈都是用来提效的手段,主次是分明的。

2401_86705854的博客 695

遥感大模型核心技术之自监督预训练技术研究(2025年9月版)

本文系统探讨了自监督预训练技术在遥感大模型构建中的核心作用。随着遥感数据进入"大数据"时代,传统监督学习面临"数据丰富、标签贫乏"的瓶颈,而自监督预训练通过设计代理任务从无标签数据中学习特征表示,成为驱动大模型发展的关键引擎。文章分析了遥感领域对自监督预训练的三大独特挑战:多源异构性、地理空间约束和时空动态性,并提出了针对性解决方案:掩码自编码(MAE)技术及其演进、地理对比学习与多模态融合、位置感知预训练与多任务学习。

panshengwu的博客 842

浅谈设计测试用例

除了常见的测试用例的方法外,我们需要掌握以下几点,才能获得比较完整清晰的测试用例.  1.个人理解设计用例的深度 深度这个需要我们日积月累的去累计经验,并且在客户提出需求时能够去比较全面充分的了解客户所需要的功能和环境.  2.测试的技术 比如现在的appium进行的自动化测试,Robot Framework所进行的安全测试,Gatling,JMeter进行的性能测试以及非开源软件Load

softstarhhy的专栏 617

STM32H7串口DMA避坑指南:如何解决RT-Thread默认驱动不支持的问题

本文针对STM32H7在RT-Thread系统中启用串口DMA时遇到的驱动不支持问题,提供了详细的解决方案。通过分析问题根源,指导修改驱动代码以适配H7的DMA Stream架构,并调整内存配置确保DMA可访问性,最终实现稳定高效的串口DMA通信。

weixin_29179311的博客 424

手把手教你用MaxEnt+ArcGIS玩转物种分布预测

本文详细介绍了如何利用MaxEnt最大熵模型与ArcGIS软件进行物种分布预测。通过实战案例,从数据收集、环境变量处理、模型参数设置到结果可视化分析,手把手教你掌握生态位模型的核心流程。结合SDM toolbox插件,可高效完成数据预处理与高级空间分析,是生态学与保护生物学研究的实用指南。

weixin_29309475的博客 560

浅谈七种测试用例设计方法

测试用例:是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境,操作步骤,测试教程,预期结果等等 测试用例的设计方法: 一、基于需求的设计 RBT(基于需求的设计)是基于需求的测试方法,会使测试更加有效,因为它使使测试专注于质量问题产生的根源——需求 基于需求的测试是一种最根本的软件测试: 验证需求是否正确,完整,无二义性,并且逻辑一致 要从“黑盒”的角度,设计出充分并...

audience_fzn的博客 821

BMS | 从一串到几百串硬件架构简介

锂电池在生活中越来越多的方面扮演能源的角色,除了大家熟知的电动汽车行业,在一些消费类,工业类电子产品比如手机,电动自行车,电动工具中都有应用,追本溯源今天我们一起来学习下最基础的BMS架构。 1~4串架构 以S8241为代表的无通信/无固件/模拟器件 可实现过充保护、过放保护、过流/短路,参数由器件后缀代码决定;通信类手持设备供电系统;1~4节电池保护板架构 如图使用S-8241系列保护IC,一对充放电MOS管控制充放电的回路的切断和接通,系统供电来自于电芯电压,VM引脚用于检测过...

ningvay的博客 9918
上一篇: 17:00面试,17:06就出来了,问的问题有点变态。。。
下一篇: Jest和Mocha对比:两者之间有哪些区别?
程序员可可
博客等级 码龄2年 3536粉丝 428原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值