测试用例的基本介绍

article/2025/10/19 8:14:52

1.什么是测试用例?

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

2.测试用例的要素

测试用例的标题、测试思路、预设条件、步骤、预期输出

一个好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试。

评价测试用例的标准:

  • 用例表达清楚,无二义性
  • 用例可操作性强
  • 永猎的输入与输出明确,一条用例只有一个预期结果
  • 用例的可维护性好
  • 用例对需求的覆盖率高
  • 暴露程序bug的能力强

3.测试用例的好处

  • 它是测试执行者的依据
  • 它使得工作可重复,自动化测试的基础
  • 评估需求覆盖率
  • 用例的复用
  • 积累测试的方法思路以供后续借鉴

4.测试用例的设计方法

4.1 总体的设计方法
基于需求的设计
基于需求的测试方法RBT(Requirements-Based Testing)是基于需求的测试方法,会使得测试更加有效,它使测试专注于质量问题产生的根源,即需求。
基于需求的测试是一种最根本的软件测试,它关注以下问题:

  1. 验证需求是否正确、完整、无二义性,并且逻辑一致
  2. 要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合要求

4.2具体的设计方法

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

  • 有效等价类
    对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明书中所规定的功能和性能

  • 无效等价类
    根据需求说明书,不满足需求的集合

等价类只考虑输入域的分类,没有考虑输入域的组合,需要其他的设计方法和补充。
<2>边界值:
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分的补充,这种情况下,其测试用例来自等价类的边界。

例:针对6-15位长度设计测试用例。
有效等价类:6 < x < 15
无效等价类:x < 6 || x > 15
边界值:5,6,15,16
完整的测试用例:5,6,10,15,16

在有效等价类中任选一个值代表这个等价类。
为什么6和15不能代表等价类?
边界值法要和等价类法结合使用,是互补的,边界值是等价类的一种补充。有效等价类的选取时,不选边界值,边界值单独写。
为什么不用3和4作为边界值?
3和4可以代表小于边界的类,但不能代表等于边界的类,5可以代表等于边界的类,也可以代表小于边界的类

数据是有区间的:取边界值的时候要注意是否包含边界值,注意开区间和闭区间
[1,50] 边界值:0,1,50,51
(1,50) 边界值 :1,2,49,50
[1,50) 边界值:0,1,49,50

<3>因果图
因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。

  • 恒等

    恒等:如果原因为真,那么结果必定为真


  • 这里写图片描述
    与:只有两个原因都为真,结果才为真



  • 2个原因中有一个为真,结果就为真


  • 这里写图片描述
    只有原因为假,结果才为真
    因果图设计测试用例的步骤:

  • 分析所有可能的输入和输出

  • 找出输入与输出之间的对应关系
  • 画出因果图
  • 把因果图转换成判定表
  • 把判定对应到每一个测试用例
    因果法设计测试用例可以帮助测试人员理清输入和输出的关系,但对于比较复杂的输入和输出,会耗费大量的时间

<4>正交排列
目的:正交法是为了减少用例数目,ongoing尽量少的用例覆盖输入的两两组合。
定义:正交试验设计是研究多因素多水平的一种设计方法,它是根据正交性,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找出最优的水平组合,正交试验设计是一种基于正交表的、高效率、快速、经济的是试验。

正交表中的有关概念:
因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
水平(位级)(Level):在实验范围内,因素被考察的值称为水平(变量的取值)
行数(Runs):正交表中的行的个数,及试验的次数,用N表示
因素数(Factors):正交表中列的个数,用C代表
水平数(Levels):任何单个因素能够取得的值的最大个数。
正交表中包含的值为从0到“水平数-1”,或从1到“水平数”,用T代表
正交表的表示形式:
L=行数(水平数*因素数)
L=N(TC)
L 6(25):代表有6次试验,5代表有5列,有5个考察的因素,2代表每个因素有2种水平,也就是2种取值

正交表的两条性质:

  • 每一列中各数字出现的次数都一样多
  • 任何两列所构成的各有序数对出现的次数都一样多

<5>场景法
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的场景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。

<6>错误猜想法
错误猜测法是经验丰富的测试人员喜欢使用的一种测试方法。基于经验和直觉,找出程序中你认为可能出现的错误,有针对性的设计测试用例。

5.测试用例的有效性

可以正常的发现有BUG的程序,或正常的验证程序是正确的。

6.测试用例的粒度和评价

测试用例的粒度:是指测试用例编写的详细程度。
测试用例可以写得和简单,也可以写的很复杂。最简单的测试用例是测试的纲要,仅仅指出要测试的内容,复杂的测试用例会指定输入的每项数,期待的结果及检验的方法,具体到界面元素的操作步骤,指定测试的方法和工具等。

大多数的测试团队编写的测试用例的粒度介于两者之间,如何把握好粒度是测试用例设计的关键,也将影响测试用例设计的效率和效果,应该根据项目的时机情况、测试资源情况来决定设计出怎样粒度的测试用例。
可以考虑以下的内容:

  • 产品的质量要求
  • 项目对用例的要求
  • 测试时间和资源是否充分

测试用例的评价:
评审分为正式和非正式评审。

  • 同行评审
  • 用户评审
  • 项目组的评审

总结:
编写测试用例的时候,要分为正向、逆向、考虑边界条件、容错、性能、安全、兼容等方面考虑。


http://chatgpt.dhexx.cn/article/WjJ2Ud60.shtml

相关文章

测试用例基本内容

为什么需要测试用例 设计测试用例是为了更有效、更快地发现软件缺陷 测试用例具有很高的有效性和可重复性&#xff0c;依据测试用例进行测试可以节约测试时间&#xff0c;提升测试效率 测试用例具有良好的组织性和可跟踪性&#xff0c;有利于测试的管理 什么是测试用例 测试…

测试用例8大要素及额外10小要素【建议收藏】

测试用例八大要素 1.测试用例编号 由字母、字符、数字组合而成的字符串&#xff0c;有唯一性&#xff0c;易识别性。 eg: 1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号 2)集成测试:产品编号-IT-集成测试项名-集成测试子项名-编号 3)单元测试:产品编号-UT-单元测试…

测试用例的基本要素和设计方法

作者&#xff1a;爱塔居 专栏&#xff1a;软件测试 作者简介&#xff1a;大三学生&#xff0c;希望同大家一起进步&#xff01; 文章简介&#xff1a;介绍写测试案例的功能需求测试和非功能需求测试和具体方法&#xff1a;判定表、正交表、等价类、边界值等 文章目录 目录 文章…

测试用例设计的八大要素及ANSI/IEEE 829标准和编写示例

1、测试用例的八大要素 1. 用例编号 和其他编号一样&#xff0c;测试用例编号是用来唯一识别测试用例的编号&#xff0c;要求具有易识别和易维护性&#xff0c;用户可以很容易根据用例编号获取到相应用例的目的和作用&#xff0c;在系统测试用例中&#xff0c;编号的一般格式…

常用八大测试用例设计方法

1、等价类划分&#xff08;Equivalance Partitioning&#xff09;测试的思想&#xff1a;将程序的输入域划分为若干个区域&#xff08;等价类&#xff09;&#xff0c;并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒&#xff08;Blackbox Testing&…

软件测试之用例编写的八大要素

用例编写的八大要素 1、用例编号&#xff1a;产品名-测试阶段-测试项XXX英文&#xff08;wechat_st_register_001&#xff09; 2、测试项目&#xff1a;功能模块–子项目 3、测试标题&#xff1a;测试点的细化&#xff0c;一行一个测试点 4、重要级别P1&#xff08;冒烟&#…

软件测试:测试用例八大要素模板

一、通用测试用例八要素   1、用例编号&#xff1b;   2、测试项目&#xff1b;   3、测试标题&#xff1b;   4、重要级别&#xff1b;   5、预置条件&#xff1b;   6、测试输入&#xff1b;   7、操作步骤&#xff1b;   8、预期输出 二、具体分析通用测试…

测试用例编写八大要素

编写测试用例的8大要素有&#xff1a;用例编号&#xff0c;所属模块&#xff0c;测试标题&#xff0c;重要级别&#xff0c;前置条件&#xff0c;测试输入&#xff0c;操作步骤&#xff0c;预期结果。以及编写测试用例时的注意事项 。 一、用例编号 由字符和数字组合成的字符…

测试用例的设计方法——八大要素

一、测试用例&#xff08;Test Case&#xff09;&#xff1a; 是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果&#xff0c;以便测试某个程序路径或核实是否满足某个特定需求。 用例编号 功能模块 测试点 重要级别 预置条件 测试输入 操作步骤 预期结果 1…

UML 交互概述图

•什么是交互概述图 •交互概述图是将活动图和顺序图嫁接在一起的图 •可以看作活动图的变体&#xff0c;它将活动节点进行细化&#xff0c;用一些小的顺序图来表示活动节点内部的对象控制流 •也可以看作顺序图的变体&#xff0c;它用活动图来补充顺序图 •交互概述图在…

UML-交互图-序列图和协作图

文章目录 1.是交互图2.序列图&#xff08;Sequence Diagram&#xff09;/协作图&#xff08;Collaboration Diagram&#xff09;3. 序列图构成3.1object&#xff08;对象&#xff09;3.2 lifeline&#xff08;生命线&#xff09;3.3 message&#xff08;消息&#xff09; 4.协作…

UML之交互图(时序图和协作图)

1.交互图&#xff1a; 概念&#xff1a;用来描述对象之间、对象与参与者之间的动态协作关系&#xff0c;以及协作过程中行为次序的图形文档。 作用&#xff1a;通常用来描述一个用例的行为&#xff0c;实现一个用例&#xff0c;完成对系统行为的建模 类型&#xff1a;时序图和协…

UML中的交互图

交互图用来描述系统中的对象是如何进行相互作用的&#xff0c;即一组对象是如何进行消息传递的。 交互图由一组对象和它们之间的关系构成&#xff0c;其中包括&#xff1a;需要什么对象&#xff0c;对象相互之间发送什么消息&#xff0c;什么角色启动消息以及消息按什么顺序发送…

UML 交互图

UML 交互图 &#xff08;顺序图、通信图、鲁棒图、定时图&#xff09; 2010-12-23 作者&#xff1a;佚名 来源&#xff1a;网络 交互与交互图 交互的概念 一次交互就是指在特定语境中&#xff0c;为了实现某一个目标&#xff0c;而在一组对象之间进行交换的一组消息所表示…

Axure自定义Echarts交互图

文章目录 一、固定JS代码二、可变代码示例 要想在Axure中载入echarts动态图表&#xff0c;需要利用原件交互动作。具体步骤如下&#xff1a; step1:选择原件 step2:添加载入交互 step3:添加打开链接动作 step4:选择链接外部URL&#xff0c;并写入JS代码 step5:保存并预览 一、固…

【UML】交互图(顺序图、合作图\协作图)

一、交互图 1.交互图用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 2.交互主要用于描述协作的动态行为方面 3.当对交互建模时&#xff0c;通常既包括对象&#xff08;每个对象都扮演某一特定的角色&#xff09;&#xff0c;又包含消息&#…

UML——交互图

交互图用来描述系统中的对象是如何进行相互作用的&#xff0c;即一组对象是如何进行消息传递的。 交互主要用于描述协作的动态行为方面。 对交互进行建模时&#xff0c;通常包括对象&#xff08;每个对象都扮演某一特定的角色&#xff09;&#xff0c;消息&#xff08;每一个消…

uml模型的交互图,UML之交互图

交互图是uml中描述系统中的对象如何进行交互动作的 。来张UML之交互图: uml模型的交互图概念 交互图,主要描述的是系统中的一组对象的消息的传递的,为对象间的交互定义了一个可视的表示方法。 uml模型的交互图构成 交互图并不是一个图,而是一些图的统称,就像我们在类图里说…

【网络图】R语言画图,超炫酷动态交互式图结构

网络图简介 网络图表示着一群事物之间的关系&#xff0c;如果两个事物有关系&#xff0c;则对应结点之间有边。 实战 官方实例 所需的包 library(tidyverse) library(viridis) library(patchwork) library(hrbrthemes) # install.packages("ggraph") library(gg…

umlの交互图

前面介绍了uml的很多种图&#xff0c;下面挑出几个联系比较紧密的进行对比和联系。用例图和交互图都是表示动态行为&#xff0c;只是前者表示系统外部对象&#xff08;参与者&#xff09;与系统这两个大对象之间的互动&#xff0c;而后者则侧重在表示系统内部一群小对象之间的互…