首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从 “懵圈” 到 “秒杀”:测试用例设计万能公式,小白也能直接套用!

从 “懵圈” 到 “秒杀”:测试用例设计万能公式,小白也能直接套用!

作者头像
草莓熊Lotso
发布2025-10-29 15:08:03
发布2025-10-29 15:08:03
1500
举报
文章被收录于专栏:C++/LinuxC++/Linux

🔥草莓熊Lotso:个人主页

❄️个人专栏:《C++知识分享》《Linux 入门到实践:零基础也能懂》

生活是默默的坚持,毅力是永久的享受。


🎬博主简介:

前言:

测试用例是软件质量的 “护城河”。然而,很多测试工程师在面对新功能时,常常感到无从下手,只能想到寥寥几个用例。本文将为你揭示设计测试用例的三大核心思维(常规 + 逆向 + 发散),并提供一套 “功能 + 界面 + 性能 + 兼容性 + 易用性 + 安全” 的万能公式,帮你系统性地构建完整的测试用例体系,确保覆盖所有关键场景,从根本上提升测试效率与质量。


一.测试用例的概念

--大家知道什么是测试用例嘛,我们来一起了解一下吧。

测试用例 是为了实施测试而向被测试的系统提供的一组集合。这组集合包含:测试环境,操作步骤,测试数据,预期结果等要素。

设计测试用例原则一:

  • 测试用例中一个必需部分是对预期输出或结果进行定义。

什么是要素?我们在编写测试用例的时候,每个用例需要给出这些要素对应的信息。

用例编号

test - 01

标题

成功注册网易邮箱

测试方式

手工测试

功能模块

注册登陆

重要性

重要

测试前提

系统运行正常,邮件服务器已开启

测试环境

win10 Chrome 版本 103.0.5060.66(正式版本)(64 位)

测试数据

邮箱地址:996402440@qq.com 密码:123456 手机号:12312341234

测试步骤

1. 打开谷歌浏览器,输入网易注册地址:https://mail.163.com/register/index.htm 2. 输入邮箱地址,密码,手机号,获取验证码并输入正确的验证码,勾选协议 3. 点击注册按钮

期望结果

展现注册成功的结果页,并且使用刚注册的账号可以正常登陆

为什么需要测试用例呢。不写测试用例可以进行测试吗?

测试中可能会遇到很多问题,诸如:

  • 不知道是否较全面的测试了所有功能
  • 测试的覆盖率无非衡量
  • 对新版本的重复的测试很难实施(即回归测试无法仅通过人工测试的方法进行历史功能的回归)
  • 存在大量冗余测试影响测试效率

测试用例的出现就是解决这些问题。另外,测试用例的作用还可以避免测试人员被迫背锅~

上面展示的是传统的编写测试用例的方法,在笔试的时候可能会采用这种方式来编写测试用例。我们在学习敏捷模型的时候了解到,如今大多数企业采用的都是思维导图的方式来编写测试用例。下面的内容包括练习都是使用思维导图/脑图进行编写。


二.设计测试用例的万能公式

现在有一款产品,要求我们对 “门锁” 设计测试用例,假如你是测试人员,你会怎么设计呢?

可以看出来,我们设计测试用例最基础也是最重要的一点就是保证功能是正确的。上面给出的这个示例,在互联网企业中,这样去设计测试用例的非常少。

2.1 常规思想+逆向思维+发散性思维

正确设计测试用例的思想:常规思维+逆向思维+发散性思维

设计测试用例的原则二:

  • 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应该根据无效和未预料到的输入情况。
  • 检查程序是否"未做其应该做的"仅是成功的一半,测试的另一半是检查程序是否“做了其不应该做的”(是上一条原则的必然结果)
  • 计划测试工作时不应该默许假定不会发现错误。

我们如果仅仅是明白了设计测试用例是思维的正确还往往不够。

若仅仅通过头脑风暴去设计测试用例,那么当我们面对面试官时,能够想出来的用例是寥寥无几的,所以在设计测试用例的时候需要有思路的去设计。

2.2 万能公式

设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试。

2.2.1 功能测试

功能测试是⼀个试图发现程序与其外部规格说明之间存在不⼀致的过程。外部规格说明是⼀份从

最终用户的角度对程序行为的精确描述。功能测试通常是⼀项⿊盒操作。在进行功能测试时,需要对规格说明进行分析以提炼测试用例,本课程中讨论的具体设计测试用例的方法尤其适用于功能测试。然而,不仅是工作中还是⾯试中,可能会存在需求不明确的功能?这种情况下该如何进行功能测试?

  • 查找其他相关关档,来帮助理解所要测试的产品需要完成的⽬标;
  • 尽量多参加项目组内的会议,比如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解;
  • 召集相关⼈员,对你整理的结果进行讨论,通过评审后,这份⽂档就可以作为依据来设计你的case了;
  • 如果是⼀款已经上线的产品,可以多使⽤产品,有不懂的问产品经理;
  • 也可以去看历史bug,可以了解到⼀些需要关注的东西。2.2.2 界面测试

对软件界面上所有的内容都需要进行测试。

要求:

  • 整体界面测试界面的实现与设计图要求⼀致。
  • 界面元素测试
  • 控件操作验证
2.2.3 性能测试

性能测试和功能测试的区别是:功能测试检查软件是否做了,而性能测试软件做的好不好。

2.2.4 兼容性测试

软件是部署在硬件系统之上,并依赖所需要的软件环境。如QQ可以在PC端打开,也可以在移动

端打开;移动端又分为IOS系统和Android系统,且市面上手机又有不同的品牌、不同的机型、不同的版本。软件是否能够在不同的环境下正确运行需要测试人员进行验证。

问题:既然市面上有众多版本的机器,那么在执行兼容性测试时难道所有的机型都需要全面覆盖吗?

选取标准:

  • 优先选择使用当前产品top级别的机型进行测试实际在企业中,后台是可以获取到使用产品的机型,并以报表的形式统计在后台,供产品人员或其他人员制定策略参考。
  • 选择主流的浏览器/机型进行测试
2.2.5 易用性测试

易用性测试的标准是检查产品是否具备简单易上手的属性。假如测试⼈员从来没有安装或使用过

该产品,作为⼀个新用户,对当前产品是否能够快速适用产品的使用流程。

2.2.6 安全测试

安全测试和性能测试一样都是比较大的领域。

常见的安全问题如:

  • 隐式数据明文显示。
  • 参数未强校验导致SQL注入。

越权:普通用户也可以执行管理员权限的操作。

2.3 水杯的测试用例设计

接下来尝试对水杯进行测试用例的设计,你能设计多少呢?

--大家也可以自己在这个基础上进行补充


三.其它常用测试类型

除了万能公式外之外,还有一个比较常用的测试类型:弱网测试,安装和卸载测试

3.1 弱网测试

弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:

  • 页面响应时间是否可以接受,关注包括热启动、冷启动时间、页面切换、前后台切换、首字时间, 首屏时间等。
  • 页面呈现是否完成⼀致。
  • 超时文案是否符合定义,异常信息是否显示正常。
  • 是否有超时重连。
  • 安全角度:是否会发生dns劫持、登陆ip更换频繁、单点登陆异常等。
  • 大流量事件风险:是否会在弱网下进行更新apk包、下载文件等大流量动作。

弱网需要借助工具来构造弱网,这里推荐使用fiddler

  • 1)fiddler配置代理
  • 2)fiddler进行抓包(桌面/移动端)
  • 3)fiddler如何构造弱网条件

具体操作:

  • 1.打开弱网设置选项
  • 2.打开弱网设置的脚本
  • 3.CTRL+F查找

大家可以自己修改试试

3.2 安装卸载测试

  • 针对需要进行部署的软件,除了软件功能外,我们还需要关注软件能否成功安装和卸载

结尾

往期回顾:

《测试视角下的软件工程:需求、开发模型与测试模型》

结语:掌握了这套核心思维和万能公式,你就拥有了设计高质量测试用例的 “骨架”。它不仅能帮你从容应对日常工作,更能让你在面试中脱颖而出。记住,技术的生命在于实践,动手去尝试,你会发现测试的乐趣和成就感。

✨把这些内容吃透超牛的!放松下吧✨ ʕ˘ᴥ˘ʔ づきらど

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 一.测试用例的概念
  • 二.设计测试用例的万能公式
    • 2.1 常规思想+逆向思维+发散性思维
    • 2.2 万能公式
      • 2.2.1 功能测试
      • 2.2.3 性能测试
      • 2.2.4 兼容性测试
      • 2.2.5 易用性测试
      • 2.2.6 安全测试
    • 2.3 水杯的测试用例设计
  • 三.其它常用测试类型
    • 3.1 弱网测试
    • 3.2 安装卸载测试
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档