测试大佬是怎么看待测试用例设计的

 前言

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

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

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

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

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

  如何设计测试用例

  一、研究需求文档

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

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

  ·产品显性功能点:这个很简单,就是产品里明确定义出来的内容。

  · 产品隐性功能点:产品没明确定义,但是会涉及到的功能点。

  · 疑问点:需求定义不清楚的地方,或者涉及到一些测试范围的确认等等。

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

  二、知晓开发设计

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

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

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

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

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

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

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

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

  三、用例设计方法

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

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

  ·等价类划分方法

  · 边界值

  · 错误推断法

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

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

  四、多角度拓展

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

  · 功能:与其他模块产生交互,集成测试是否充分

  · 性能:涉及到的接口是否存在压力场景,并发场景等

  · 安全:数据传输/存储的加密、是否脱敏等

  · 兼容性:不同设备、不同系统、不同屏幕是否显示完好,覆盖市面主流机型

  · 易用性:功能是否好友,提示是否友好等

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/362882.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

41、WEB攻防——通用漏洞XMLXXE无回显DTD实体伪协议代码审计

文章目录 XXE原理&探针&利用XXE读取文件XXE带外测试XXE实体引用XXE挖掘XXE修复 参考资料:CTF XXE XXE原理&探针&利用 XXE用到的重点知识是XML,XML被设计为传输和存储数据,XML文档结构包括XML声明、DTD文档类型定义&#xf…

XVC767AE102 3BHB007209R0102

XVC767AE102 3BHB007209R0102 XVC767AE102 3BHB007209R0102 GPS99808模块在汽车防盗系统中的应用 ... 详细介绍了 leadtek公司最新款oem模块gps9808在新型智能防盗系统中的 ... 定位模块、cpu控制模块、gps通信模块、传感器检测模块、声光报警模块、电源管理模块 ... 功能…

k8s之基础组件说明

前言 K8S,全称 Kubernetes,是一个用于管理容器的开源平台。它可以让用户更加方便地部署、扩展和管理容器化应用程序,并通过自动化的方式实现负载均衡、服务发现和自动弹性伸缩等功能。 具体来说,Kubernetes 可以将应用程序打包成…

sqli-labs-master靶场训练笔记(1-22|新手村)

2024.1.21 level-1 (单引号装饰) 先根据提示建立一个get请求 在尝试使用单个单引号测试,成功发现语句未闭合报错 然后反手一个 order by 得到数据库共3列,-- 后面加字母防止浏览器吃掉 -- 操作(有些会&#xff09…

全链路压测的关键点是什么?

全链路压测是一种重要的性能测试方法,用于评估应用程序或系统在真实生产环境下的性能表现。通过模拟真实用户行为和流量,全链路压测能够全面评估系统在不同负载下的稳定性和性能表现。本文将介绍全链路压测的关键点,以帮助企业更好地理解和应…

IT行业证书大揭秘:哪些证书含金量最高?

文章目录 📖 介绍 📖📒 证书 📒 📖 介绍 📖 在IT行业,有许多证书被认为是含金量高的,可以帮助个人在职业发展中取得重要的竞争优势。以下是一些IT行业中被认为含金量高的证书&#x…

Docker基础知识

1、什么是Docker?Docker解决了什么问题 一个项目中,部署时需要依赖于node.js、Redis、RabbitMQ、MySQL等,这些服务部署时所需要的函数库、依赖项各不相同,甚至会有冲突。给部署带来了极大的困难。 所以引入了Docker Docker为了…

系统架构设计师-21年-下午答案

系统架构设计师-21年-下午答案 更多软考知识请访问 https://ruankao.blog.csdn.net/ 试题一必答,二、三、四、五题中任选两题作答 试题一 (25分) 说明 某公司拟开发一套机器学习应用开发平台,支持用户使用浏览器在线进行基于机器学习的智能应用开发…

ThreadX系列note-前言

什么是 Azure RTOS ThreadX Azure RTOS ThreadX 是 Microsoft 提供的高级工业级实时操作系统 (RTOS)。它是专门为深度嵌入式实时 IoT 应用程序设计的。 Azure RTOS ThreadX 的特性 Azure RTOS ThreadX 提供高级计划、通信、同步、计时器、内存管理和中断管理功能。此外&#…

【SpringBoot】SpringBoot的自动配置原理

📝个人主页:五敷有你 🔥系列专栏:SpringBoot ⛺️稳重求进,晒太阳 自动配置 啥叫自动配置呢?简单说就是springboot根据我们开发者的行为猜测你要做什么事情,然后把你要用的bean都给你准备…

tcpdump 抓包无法落盘

文章目录 问题背景解决办法 问题背景 在嵌入式设备中(Linux系统),为了分析两个网络节点的通讯问题,往往需要用到tcpdump,抓一个.pcap的包在PC端进行分析。博主在实际操作中发现,抓包无法实时落盘。 解决办法 # 下面的命令是写在…

集线器、交换机、路由器工作原理区别

集线器、交换机、路由器这三种设备是相似的,但是他们处理数据的方式有所不同。 1 集线器 集线器的目的是将内部网络上所有网络设备连接在一起。它具有多个端口,可以接受来自网络设备的以太网连接。集线器不过滤任何数据、也不知道该将数据发到什么地方…

友思特应用 | 微观指尖世界:OCT成像应用之3D指纹提取与识别

欢迎访问官网,探索丰富案例: OCT成像系统 | 光学相干断层扫描 | 谱域OCT | 扫频OCT | 广州友思特科技有限公司 关注“友思特机器视觉与光电”公众号、加入行业交流群或直接联系我们,轻松收获更多技术干货 导读 数字化生活已离不开指纹识别认…

Python学习从0到1 day11 Python数据容器.2.元组

世界安静的时候,我只能听到自己的声音 —— 24.2.1 为什么需要元组? 元组同列表一样,都是可以封装多个,不同类型的元素在内,最大的不同点在于: 列表是可以修改的 元组一旦定义完成,就不可修改 所…

测试C#调用OpenCvSharp和IronOcr从摄像头中识别文字

学习了基于OpenCvSharp获取摄像头数据,同时学习了基于IronOcr的文字识别用法,将这两者结合即是从摄像头中识别文字。本文测试C#调用OpenCvSharp和IronOcr从摄像头中识别文字的基本用法、。   新版Winform项目,在Nuget包管理器中添加以下程序…

检测头篇 | 原创自研 | YOLOv8 更换 SEResNeXtBottleneck 头 | 附详细结构图

左图:ResNet 的一个模块。右图:复杂度大致相同的 ResNeXt 模块,基数(cardinality)为32。图中的一层表示为(输入通道数,滤波器大小,输出通道数)。 1. 思路 ResNeXt是微软研究院在2017年发表的成果。它的设计灵感来自于经典的ResNet模型,但ResNeXt有个特别之处:它采用…

记elasticsearch CPU负载100%问题

记elasticsearch CPU负载100%问题 环境:问题表现:初步排查:日志查询hot_thread 深入查询当前elasticsearch正在运行的Task查看Task详情解决问题对导致问题的原因的几个猜测问题复现:导致问题的原因。json导入规则问题json导入规则…

Linux PC 操作系统如果想要达到 Windows 易用的水平还需要多少年

Linux PC 操作系统如果想要达到 Windows 易用的水平还需要多少年? 在开始前我分享下我的经历,刚入行时遇到一个好公司和师父,给了我机会,两年时间从3k薪资涨到18k的, 我师父给了一些Linux 学习方法和资料,…

制造业实施QMS质量管理系统的作用是什么?

QMS质量管理系统是一个关键的组织管理工具,用于确保产品和服务的质量符合预期标准;通过有效地实施万界星空科技QMS,组织可以确保产品和服务的质量符合预期标准,提升客户满意度,增强市场竞争力。 一、QMS系统的特点&…

<网络安全>《12 数据库安全审计系统》

1 概念 数据库安全审计系统通过对用户访问数据库行为的记录、分析和汇报,来帮助用户事后生成合规报告、事故追根溯源,同时通过大数据搜索技术提供高效查询审计报告,定位事件原因,以便日后查询、分析、过滤,实现加强内…