测试用例设计的八大要素及ANSI/IEEE 829标准和编写示例[通俗易懂]

测试用例设计的八大要素及ANSI/IEEE 829标准和编写示例[通俗易懂]1、测试用例的八大要素1.用例编号和其他编号一样,测试用例编号是用来唯一识别测试用例的编号,要求具有易识别和易维护性,用户可以很容易根据用例编号获取到相应用例的目的和作用,在系统测试用例中,编号的一般格式为A-B-C-D这几部分的作用分别如下:A:产品或项目类型,如CMS(内容管理系统)、CRM(客户关系管理系统)B:一般用来说明用例的属性,如ST(系统测试)、IT(集成测试)、UT(单元测试)C:测试需求的表示,说明该用例针对的需求点,可包括测试项和测试子项等,如文档管理、客户投诉信息管理

大家好,又见面了,我是你们的朋友全栈君。

1、测试用例的八大要素

1. 用例编号

和其他编号一样,测试用例编号是用来唯一识别测试用例的编号,要求具有易识别和易维护性,用户可以很容易根据用例编号获取到相应用例的目的和作用,在系统测试用例中,编号的一般格式为A-B-C-D
这几部分的作用分别如下:

  1. A:产品或项目类型,如CMS(内容管理系统)、CRM(客户关系管理系统)
  2. B:一般用来说明用例的属性,如ST(系统测试)、IT(集成测试)、UT(单元测试)
  3. C:测试需求的表示,说明该用例针对的需求点,可包括测试项和测试子项等,如文档管理、客户投诉信息管理等。通常可以根据实际情况将格式调整为C-C1的格式,如客户管理-新增客户,其中客户管理为测试项C,新增客户为测试子项C1。
  4. D:通常用数字表示,并且一般用三位顺序性数字编号表示,如001、002等。

用例编号示例:CRM-ST-客户管理-新增客户-001

2. 测试项

测试项即是测试用例对应的功能模块,其包含了测试项、测试子项,以及该用例所属的功能模块。以上述的客户管理-新增客户为例,往往一个测试项下会包含若干测试子项或测试用例,因此测试项一般可定义到测试子项级别,这样更便于识别测试用例所属模块及维护用例。

3. 标题

测试标题是用来概括描述本条测试用例的关注点,原则上标题不可重复,每条测试用例对应一个测试目的。例如,输入包含特殊符号'的客户名称,提交新增信息,验证单引号SQL注入是否屏蔽。

4. 重要级别

重要级别是测试用例重要性的体现,可以根据测试用例的重要级别决定测试用例的执行顺序,一般将测试用例划分为高、中、低三个等级。具体的级别可以根据需求的优先级来确定,在一个测试项中,级别为高的测试用例数量往往控制在一个左右,通常从功能风险、功能使用频率、功能关键性等几个因素来考虑用例重要级别设置,高级别的用例越多,预测试项目就越多,就越不利于测试的执行,这样设置重要级别也就没有意义了。

5. 预置条件

预置条件就是执行该条用例的先决条件,也就是说如果预置条件不满足,则根本无法执行本条测试用例。预置条件在实际确定的过程中,往往选择与当前用例有直接因果关系的条件,例如当某个功能A或流程的输出直接影响下一个功能或流程的工作时,可称A是下一功能或流程的预置条件。
预置条件选择的正确与否,可能会影响测试覆盖率、通过率的计算,从而影响停测标准的执行。

6. 测试输入

测试执行时,往往需要一些外部数据、文件、记录驱动等,例如,新增客户信息时,需要客户姓名、联系电话、通信地址等,这些内容构造的测试数据即被称为测试输入。

7. 操作步骤

根据需求规格说明书中的功能需求,设计用例执行步骤。操作步骤描述执行人员执行用例时,应遵循的输入操作动作,编写操作步骤时,需明确给出每个步骤的详细描述。

8. 预期结果

预期结果来源于需求规格说明书,说明用户显性期望或隐性需求。预期结果作为测试用例最重要的一部分,需明确定义。在编写预期结果时,可以考虑从以下两个方面考虑:

  1. 预期的界面表现
    执行相关操作后,被测对象会根据测试输入做出相应,并将结果展现在软件界面上,用例预期结果中可包括此部分的描述。
  2. 预期的功能表现
    通常从数据记录、流程响应等几个方面关注预期功能表现,如输入正确数据格式的用户信息,单击“新增”按钮,数据库插入相关记录,并且在用户列表中正确显示该用户概要信息。
    需要注意的是,被测对象根据输入所做出的响应,一定要描述清晰。通常情况下,一条测试用例,仅描述一个预期结果或主题明确的相关结果,不要一条用例描述若干事情,期望若干结果。

2、ANSI/IEEE 829标准

ANSI/IEEE 829标准测试用例说明用于输入输出的实际数值和预期结果,同时还指出了使用具体测试用例产生的测试程序的限制。下面是ANSI/IEEE 829中对测试用例的描述:
在这里插入图片描述

如果按照上述标准来写,将非常浪费时间,所以一般将上述标准一般作为规范,然后在其基础上进行修改、简化,下面是一个测试用例的实例。

3、测试用例编写实例

以上面的新增客户测试项为例,可以编写如下的测试用例:

在这里插入图片描述
不过,根据实际的情况,我们还可以再此基础上增加新的要素,例如用例属性(指该用例的用途,如功能用例、性能、可靠性、安全性、兼容性用例等,这样可以先确定用例属性,然后再选择相应的测试用例/测试数据,比如安全性测试就选择安全性测试用例)、实际结果(刚开始时为空白,执行测试用例后,如果实际结果与预期结果不一致,将实际执行结果写入此处),执行人(执行此条测试用例的人员)等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154029.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 怎么新建pytest的ini文件_pytest conftest.py文件

    怎么新建pytest的ini文件_pytest conftest.py文件前言pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行查看pytest.ini的配置选项pytest-h找到以下

  • 高并发架构消息队列面试题(全面解剖面试官心理)

    高并发架构消息队列面试题(全面解剖面试官心理)

  • 范冰:增长黑客入门训练营

    范冰:增长黑客入门训练营之前刚入门产品的时候,增长的概念已经很流行了,连着读了SeanEllis的《增长黑客:如何低成本实现爆发式成长》和范冰的《增长黑客:创业公司的用户与收入增长秘籍》以及相应的公开课,如果你不知道SeanEllis,那我觉得你应该认真花点时间去了解一下这位“增长黑客之父”了,之前已经分享过SeanEllis的公开课和关于这本书的读书笔记,比较开心的是无意中发现2019年《增长黑客:创业公司的用户与收入增长秘籍》的作者范冰就已经亲自开了这本增长黑客的课程,还是觉得好物不容错过!欢迎要资源,欢迎交流沟通过~

  • pycharm缩进设置_wps首行缩进快捷键

    pycharm缩进设置_wps首行缩进快捷键1、pycharm使多行代码同时缩进鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符Python语言是一款对缩进非常敏感的语言,给很多初学者带来了困惑,即便是很有经验的Python程序员,也可能陷入陷阱当中。最常见的情况是tab和空格的混用会导致错误,或者缩进不对,而这是用肉眼无法分别的…

  • Java实现远程开关机(网络唤醒)

    Java实现远程开关机(网络唤醒)Java实现远程开关机是做的一个在局域网下实现一台机器对多台机器的开关机控制远程唤醒实现是通过电源的一种协议进行控制的,需要知道被唤醒机器的mac地址首先要须知:网络唤醒条件网络唤醒需要终端的主板和网卡支持,需要先在BIOS设置支持网络唤醒网络唤醒要接通电源保证网卡能通电要接网线不能是wifi如果强制关机可能不能通过网络唤醒来开机跨交换机或者跨路由的话就有可能不支持唤醒跨多…

  • mysql逻辑删除案例_实现数据逻辑删除的一种方案

    mysql逻辑删除案例_实现数据逻辑删除的一种方案什么是逻辑删除所谓逻辑删除是指数据已经“不需要”了,但是并没有使用delete语句将这些数据真实的从数据库中删除,而只是用一个标志位将其设置为已经删除。为什么需要逻辑删除对数据进行逻辑删除,一般存在以下原因:防止数据误删除,不能找回数据;这些数据还具有一定的商业价值,比如用户的注册信息;虽然这些数据可以删除,但是这些数据还有关联数据,这些关联数据不能删除。对数据进行逻辑删除,可以保证数据的安全性和…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号