软件测试之测试用例

发布于:2025-03-16 ⋅ 阅读:(16) ⋅ 点赞:(0)

1. 什么是测试用例

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

设计测试⽤例原则⼀:

  1. 测试⽤例中⼀个必需部分是对预期输出或结果进⾏定义

使用 Excel 表格编写测试用例(笔试):

用例编号 test-01
标题 成功注册网易邮箱
测试方式 手工测试
功能模块 注册登陆
重要性 重要
测试前提 系统运行正常,邮件服务器已开启
测试环境 win10 Chrome版本103.0.5060.66(正式版本)(64位)
测试数据 邮箱地址:996402440@qq.com
密码:123456
手机号:12312341234
测试步骤 1.打开谷歌浏览器,输入网易注册地址:https://mail.163.com/register/index.htm
2.输入邮箱地址,密码,手机号,获取验证码并输入正确的验证码,勾选协议
3.点击注册按钮
期望结果 展现注册成功的页面,并且使用刚注册的账号可以正常登陆并进入邮箱首页

使用思维导图编写测试用例(面试+工作):
在这里插入图片描述


编写测试用例的好处:

  • 测试用例的出现就是解决下面这些问题:
    1. 不知道是否较全面的测试了所有功能
    2. 测试的覆盖率无法衡量
    3. 对新版本的重复测试很难实施(即回归测试无法仅通过人工测试的方式进行历史功能的回归)
    4. 存在大量冗余测试影响测试效率
    5. 测试用例的作用还可以避免测试人员被迫背锅~~

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

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

  1. 功能测试:从产品功能角度出发,验证功能是否正确;
  2. 界面测试:肉眼可以看到的称之为界面,界面所有的元素(大小,颜色,形状,材质)都需要测试;
  3. 性能测试:通常为一些极端的情况会产生一些性能的区别;
  4. 兼容性测试:不同的版本(软件、系统…)、浏览器的版本、不同的浏览器;
  5. 易用性测试:具有简单易上手的属性(引导教程)
  6. 安全测试:是否具备危险材质、气味;
    接口响应数据也要考虑到用户数据的安全性(加密);
    登录场景也需要将秘密进行加密展示;
    数据存储用户隐私数据是否加密。
    比如:SQL注入、越权

使用万能公式对水杯设计测试用例:
在这里插入图片描述


3. 特殊的测试场景

3.1 弱网测试

弱网测试的目的就是尽可能保证用户体验(覆盖更多的网络场景),关注的关键点包括:

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

  • 如何进行弱网测试
    在这里插入图片描述

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

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

在这里插入图片描述


3.2 安装卸载测试

  1. 安装:安装包是否可以安装、卸载之后是否可以继续安装、重复安装…
    软件更新后安装是否成功
  2. 卸载:安装完成后卸载、安装一般后卸载、卸载一次后继续安装继续卸载、卸载一般停止后是否还可以继续卸载……

4. 设计测试用例的方法

4.1 基于需求的设计方法写出初步的测试用例

测试和开发工作开展的依据:需求文档 / 产品规格说明书(用户需求通过需求分析形成软件需求)

测试人员接到需求之后,要对需求进行分析和验证,从合理的需求中进一步分析细化需求,从细化的需求中找出测试点,根据这些测试点再去设计测试用例。


  • 这是注册邮箱账号的需求:
    在这里插入图片描述

在这里插入图片描述

4.2 具体的设计方法

4.2.1 等价类

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

  • 姓名:必填,6 - 15位字符
    若测试的姓名位上述字符,那么我们应该测试多少位的字符?6789…15?
    那么小于 6 和 大于 15 的需要吗,那么使用穷举法就太耗时耗力了。

  • 那我们应该怎么做 ?
    我们可以考虑等价类:等价类就是一个可以了,那么这个等价的范围里也就都可以了

等价类分类:

  1. 有效等价类:对于程序的需求文档来说是有意义的(6 ~ 15 位字符)
  2. 无效等价类:对于程序的需求文档来说是无意义的(< 6 或 > 15 位字符)

设计:
设计


4.2.2 边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

边界值包括:边界值 + 次边界值

  • 边界值:给定返回的左数据和右数据
  • 次边界值:需要根据边界值的有效无效情况来定
    1. 若边界值为有效等价类中的数据,则次边界值为无效等价类中的边界
    2. 若边界值为无效等价类中的数据,则次边界值为有效等价类中的边界

在这里插入图片描述
在这里插入图片描述

4.2.3 场景法

作用:进行思路引导
基本事件流和备选事件流

在这里插入图片描述

4.2.4 等价表法

正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。

在这里插入图片描述
正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。

  • 借助工具设计正交表
    在这里插入图片描述

4.2.5 判定表法

判定表是一种表达逻辑判断的工具,形如:
在这里插入图片描述

  • 示例在这里插入图片描述

4.2.6 错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。

错误推测法和目前流行的“探索式测试方法”的基本思想一致,这类方法在敏捷开发模式下的投入产出比很高,被广泛应用于测试。