测试用例的编写规范

测试用例

测试用例的要素

  1. 测试数据+操作步骤+预期结果+实际结果(核心要素)

  2. 前置条件+用例标题+编号+重要级别+编写人等(其他要素)

测试数据

  • 输入项名称<==>取值 对应

  • 所有的输入项都要体现在用例的测试数据项中

  • 一个用例是一组数据的测试

  • 测试数据可以是精确数据 || 范围数据

  • 测试数据需要设计有效数据&无效数据

操作步骤

  • 同一个功能点,操作步骤理论上是相同的

  • 操作步骤尽量精简,一般是:一个页面的输入+一个提交

  • 操作步骤中不要写数据,只写数据项的名称

预期结果

  • 用户期望的结果,同一个数据只能有一种预期结果

  • 预期结果包括总体结果和具体说明

前置条件

  • 测试需要一定的条件

  • 只有特殊条件才会写前置条件,否则写无

标题

  • 简明扼要的描述这个测试用例,表明其作用

  • 一般为数据+预期结果的合并

  • 理论上来说用例的标题不可能相同

测试用例案例如下:

测试用例设计方法

等价类

  • 某个输入域的集合,该集合中每个输入条件是等效的,分为有效&无效等价类。
  • 需要注意不能输入的数据不需要做测试
  • 设计测试用例需要同时考虑有效&无效等价类,确保软件具有更高的可靠性。
等价类划分原则
  • 若规定了输入值的取值范围 ==> 确定1个有效等价类+2个无效等价类

  • 若规定了输入值的集合,或是规定了必须如何的条件 ==> 确定1个有效等价类+1个无效等价类

  • 若输入值是布尔量 ==> 确定1个有效等价类+1个无效等价类

  • 若规定了n个输入值,并且程序要对每个输入值分别处理 ==> 确定n个有效等价类+1个无效等价类

  • 若规定了输入数据必须遵守的规则 ==> 确定1个有效等价类+n个无效等价类

有效等价类∪ 无效等价类 = 全集

有效等价类 ∩ 无效等价类 = 空集

等价类设计步骤
  1. 为每个输入项划分等价类,得到等价类表,为每个等价类编号

  2. 等价类覆盖

    • 设计一个测试用例,使其尽可能多的覆盖所有尚未覆盖的有效等价类。重复这一步骤,使有效等价类均被测试用例所覆盖;

    • 设计一个测试用例,使其只覆盖一个无效等价类。重复这一步骤使得所有无效等价类均被覆盖;

举个注册账户的例子:

有效等价类覆盖:有效等价类的数量由含有最多有效等价类数量的规则决定,本例子中即为“内容”项规则。

  1. A1,A2,A6,A7,A9,A10 ==> 转化为数据:用户名为6~18字母,字母开头,字母结尾,密码任意输入,再次输入密码与密码相同;

  2. A1,A3,A6,A8,A9,A10 ==> 转化为数据:用户名为6~18字母数字组合,字母开头,数字结尾,密码任意输入,再次输入密码与密码相同;

  3. A1,A4,A6,A7(A8),A9,A10 ==> 转化为数据:用户名为6~18字母下划线组合,字母开头,字母结尾,密码任意输入,再次输入密码与密码相同 (为了使 A7 和 A8 数量上均匀一些,这里取 A7);

  4. A1,A5,A6,A8,A9,A10 ==> 转化为数据:用户名为6~18字母数字下划线组合,字母开头,数字结尾,密码任意输入,再次输入密码与密码相同;

无效等价类覆盖:A1~A15 ==> 转化为数据:用户名为1~5个字符......

综上可得一共有19个测试数据,再根据测试数据编写对应的测试用例,除此之外还需要把不区分大小写的测试用例包括进来。

边界值分析

边界值分析法是一种补充等价类划分的测试用例设计技术,它不是选择等价类的任意元素而是选择等价类边界的测试用例。实践证明在设计测试用例时,对边界附近的处理必给足够的重视,为检验边界附近的处理专门设计测试用例,常常取得良好的测试效果。边界值分析法不仅重视输入条件边界,而且也从输出域导出测试用例。

边界值选取方法
  • 如果输入(输出)条件规定了取值范围,则应该以该范围的边界内及边界附近的值作为测试用例

  • 如果输入(输出)条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据

  • 如果程序规格说明中提到的输入或输出是一个有序的集合,应该注意选取有序集合的第一个和最后一个元素作为测试用例

  • 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例

边界值设计用例步骤

在上面注册账户例子的基础上,采用边界值设计用例,得到如下结果

有效等价类覆盖:

  1. A1,A2,A6,A7,A9,A10 ==> 转化为数据:用户名为6字母,字母开头,字母结尾,密码任意输入,再次输入密码与密码相同

  2. A11,A3,A6,A8,A9,A10 ==> 转化为数据:用户名为18字母数字组合,字母开头,数字结尾,密码任意输入,再次输入密码与密码相同

  3. A1,A4,A6,A7(A8),A9,A10 ==> 转化为数据:用户名为6字母下划线组合,字母开头,字母结尾,密码任意输入,再次输入密码与密码相同 (为了使 A7 和 A8 数量上均匀一些,这里取 A7)

  4. A11,A5,A6,A8,A9,A10 ==> 转化为数据:用户名为18字母数字下划线组合,字母开头,数字结尾,密码任意输入,再次输入密码与密码相同

无效等价类覆盖:A1~A15 ==> 转化为数据:用户名为5个字符......

案例:网上银行活期转定期

基于等价类边界值法设计测试用例

测试相关知识

测试用例是个手段,不是目的

1、场景法

每一个用户可以进行交互的东西都要测,比如输入框,按钮等;

2、流程去考虑

先输入手机号,点击获取验证码,输入验证码,点击登录,登录成功,这是基本流

登录失败(验证码错误),备选流

3、边界值

6-10位,那就测5,6,10,11就够了

4、等价类

7和6是同一等价类,测了6就不用测7了

5、非功能场景

网络情况,兼容性(IOS,Android),接口(涉及到手机号要验证是否加密),数据校验(去数据库看数据是否落地),UI,权限,断线重连

6、业务

验证码限制发送次数

芯片的可测试性设计(DFT):为方便芯片测试,设计中额外增加/修改某些逻辑,增加输入&输出端口,但是不会改变芯片的功能。实际测试中,将芯片插入自动测试设备(ATE)中,然后输入测试程序,通过ATE找出故障芯片。

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
芯片验证的测试用例分解可以通过测试覆盖率和功能测试指标来进行。测试覆盖率是一种测试技术指标,用于评估测试用例是否能够完全覆盖应用程序代码中的各种可能情况,以及在运行这些测试用例时执行了多少代码。它可以帮助进行回归测试、测试用例优先级划分、测试套件扩展和测试套件颗粒化。其中,语句覆盖是一种常用的测试覆盖技术。 功能测试指标主要关注需求范围,它可以用来评估测试用例是否涵盖了系统的各个功能需求。然而,功能测试指标的缺点是仅仅计数通过的测试用例并不能说明这些测试的质量。有些测试可能能够通过,但在某些非正常的情况下,程序可能会触发一些BUG。因此,在进行芯片验证的测试用例分解时,除了关注功能测试指标,还应结合测试覆盖率来确保测试用例的全面性和有效性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [如何提高测试用例覆盖率?阿里测试工程师是这样说的](https://blog.csdn.net/wqda125/article/details/126631152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值