测试用例的编写流程及一般格式(由浅入深学习)

目录

1、格式(八大要素):

2、针对穷举场景设计测试点

案例1:qq号6-10 位自然数

案例2:电话号码

一、确认需求:

二、确认有效等价和无效等价

三、提取测试数据编写用例并执行

3、针对限定边界规则设计测试点

 案例:文章标题

一、明确需求

二、确定有效等价和无效等价、确定边界范围值

三、编写用例

4、对多条依赖关系进行设计测试点

案例1:订单发货验证

一、明确需求:

二、列出条件桩和动作桩

三、编写用例

案例2:字符与数字

一、明确需求:

二、列出条件桩和动作桩

三、编写用例

5、对项目业务进行设计用例

案例:ATM机

设计测试用例 

错误推测法


前言:什么是测试用例

  • 用例:用户使用的案例
  • 测试用例:执行测试的文档(用户使用的案例)
  • 考虑点:质量模型(功能、性能、兼容、易用、安全)
  • 作用:防止漏测、实施测试标准

1、格式(八大要素):

  • 用例编号:项目+模块+编号
  • 用例标题:预期结果+操作步骤
  • 模块/项目:所属项目或模块
  • 前置条件:要执行此条用例,有哪些前置操作
  • 优先级:表示用例的重要程度或者影响力P0 ~ P4(P0最高)
  • 测试步骤:描述操作步骤
  • 测试数据:操作的数据,没有的话可以为空
  • 预期结果:期望达到的结果

2、针对穷举场景设计测试点

方法:等价类实现

  • 分类:

                有效等价类:所有有效数据集合,取一个即可。

                无效等价类:所有无效数据集合,取一个即可。

  • 步骤:

                1、明确需求。

                2、确定有效和无效等价类。

                3、提取数据编写用例。

案例1:qq号6-10 位自然数

  • 示例:
用例编号用例标题项目/模块前置条件优先级测试步骤测试数据预期结果实际结果
qq_001合法(8位自然数)qq打开qq程序P01、输入qq号
2、点击验证
12345678合法
qq_002不合法(4位自然数)qq打开qq程序P01、输入qq号
2、点击验证
1234不合法
qq_003不合法(8位非自然数)qq打开qq程序P01、输入qq号
2、点击验证
1234567a不合法

案例2:电话号码

一、确认需求:

  1. 区号:空或者是三位数字。
  2. 前缀码:非“0”且非“1”开头的三位数字。
  3. 后缀码:四位数字
参数类型长度规则
区号数字为空或
3位
/
前缀数字3位非0且非1开头
后缀数字4位/

二、确认有效等价和无效等价

参数有效等价无效等价
区号长度为空
3位
1位
前缀3位2位
后缀4位3位
区号类型数字非数字
前缀数字非数字
后缀数字非数字
区号规则//
前缀非0且非1开头0开头
1开头
后缀//

三、提取测试数据编写用例并执行

用例编号用例标题项目/模块前置条件优先级测试步骤测试数据预期结果实际结果
tel_001合格(区号为空+3位数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:234
3、后缀:4567
合格
tel_002合格(区号为3位数字+3位数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:123
2、前缀:234
3、后缀:4567
合格
tel_003不合格(区号为1位数字+3位数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:1
2、前缀:234
3、后缀:4567
不合格
tel_004不合格(区号为空+2位数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:23
3、后缀:4567
不合格
tel_005不合格(区号为空+3位数字前缀且非0非1开头+3位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:234
3、后缀:456
不合格
tel_006不合格(区号为3位非数字+3位数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:a12
2、前缀:234
3、后缀:4567
不合格
tel_007不合格(区号为空+3位非数字前缀且非0非1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:23a
3、后缀:4567
不合格
tel_008不合格(区号为空+3位数字前缀且非0非1开头+4位非数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:234
3、后缀:456a
不合格
tel_009不合格(区号为空+3位数字前缀且0开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:023
3、后缀:4567
不合格
tel_010不合格(区号为空+3位数字前缀且1开头+4位数字后缀)电话/P01、输入区号
2、输入前缀
3、输入后缀
1、区号:为空
2、前缀:134
3、后缀:4567
不合格
  • 场景:

针对需要大量数据测试输入,但是没法穷尽测试的地方。

例如:输入框、下拉列表、单选复选框。

典型代表:页面级的输入框类测试。

3、针对限定边界规则设计测试点

方法:边界值设计方法

名词:

  • 上点:边界上的点(绿色)
  • 离点:离边界最近的点(黄色)
  • 内点:范围内的点(蓝色)

 案例:文章标题

一、明确需求

标题长度大于0,小于等于30个字符

二、确定有效等价和无效等价、确定边界范围值

有效边界值无效边界值
大于0小于等于301、等于0
2、大于30
1个字符、29个字符、30个字符0个字符、31个字符

三、编写用例

用例编号用例标题项目/模块前置条件优先级测试步骤测试数据预期结果实际结果
title_001合格(1个字符)标题打开工具P01、输入数据
2、点击确定
a合格
title_002合格(29个字符)标题打开工具P01、输入数据
2、点击确定
29个a合格
title_003合格(30个字符)标题打开工具P01、输入数据
2、点击确定
30个b合格
title_004不合格(为空)标题打开工具P11、输入数据
2、点击确定
不合格
title_005不合格(31个字符)标题打开工具P11、输入数据
2、点击确定
31个c不合格

使用场景:

  • 常见的词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
  • 典型代表:有边界范围的输入框类测试

提示:边界值可以覆盖等价类的长度,但是无法覆盖类型。所以设计用例时必须两者结合。

4、对多条依赖关系进行设计测试点

方法:判定表

  • 定义:是一种以表格形式表达多条件逻辑判断的工具
  • 组成:
  1. 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
  2. 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。
  3. 条件项:列出条件对应的取值,所有可能情况下的真假值。
  4. 动作项:列出条件的各种取值情况下应该采取的动作结果。
  • 规则:
  1. 判定表中贯穿条件和动作项的一列就是一条规则。
  2. 假设有n个条件,每个条件的取值有两个(0,1),全组合有 2 的 n 次方种规则。
  • 步骤:
  1. 明确需求
  2. 画出判定表

          1)、列出条件桩和动作桩

          2)、填写条件项,对条件进行全组合

          3)、根据条件项的组合确定动作项

          4)、简化、合并相似规则(有相同的动作)

       3.根据规则编写测试用例

案例1:订单发货验证

一、明确需求:

    1)、如果金额大于500元,又未过期,则发出批准单和提货单; 
    2)、如果金额大于500元,但过期了,则不发批准单与提货单; 
    3)、如果金额小于等于500元,则不论是否过期都发出批准单和提货单; 
    4)、在过期的情况下不论金额大小还需要发出通知单。

二、列出条件桩和动作桩

条件大于500
未过期
动作批准单×
提货单×
通知单××

三、编写用例

用例编号用例标题项目/模块前置条件优先级测试步骤测试数据预期结果实际结果
order_001发批准单和提货单(大于500、未过期)订单软件打开P11、输入金额
2、查看是否过期
1、金额:501
2、未过期
发:批准单、提货单
不发:通知单
order_002发通知单(大于500、过期)订单软件打开P11、输入金额
2、查看是否过期
1、金额:501
2、过期
不发:批准单、提货单
发:通知单
order_003发批准单和提货单(等于500、未过期)订单软件打开P11、输入金额
2、查看是否过期
1、金额:500
2、未过期
发:批准单、提货单
不发:通知单
order_004发批准单和提货单、通知单(小于500、过期)订单软件打开P11、输入金额
2、查看是否过期
1、金额:400
2、过期
发:批准单、提货单、通知单

案例2:字符与数字

一、明确需求:

二、列出条件桩和动作桩

条件是A或B
是数字
动作L××
M××
成功×××

三、编写用例

用例编号用例标题项目/模块前置条件优先级测试步骤测试数据预期结果实际结果
file_001修改成功(第一列为A或B,第二位数字)文件软件打开P01、输入第一列
2、输入第二列
1、A
2、1
修改文件成功
file_002输出M(第一列为A或B,第二位非数字)订单软件打开P11、输入第一列
2、输入第二列
1、A
2、A
输出M
file_003输出L(第一列非A或B,第二列是数字)订单软件打开P11、输入第一列
2、输入第二列
1、C
2、1
输出L
file_004输出M、L(第一列非A或B,第二列非数字)订单软件打开P11、输入第一列
2、输入第二列
1、C
2、C
输出M、L
  • 应用场景
  1. 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
  2. 判定表一般适用于条件组合数量较少的情况(比如4个条件以下)

提示:如果碰到项目中多条件组合大于4个相互依赖,可以使用正交表和因果图实现。

5、对项目业务进行设计用例

方法:使用流程图,测试业务

案例:ATM机

设计测试用例 

用例编号用例标题项目/模块   前置条件      优先级  测试步骤             测试数据                 预期结果          实际结果
ATM_001取款成功ATM1、银行卡账户余额充足
2、ATM余额充足
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:银行卡
2、密码:正确密码
3、取款金额:1000
1、取款成功
2、账户余额扣款成功
3、退卡成功
ATM_002取款失败(非银行卡)ATM1、银行卡账户余额充足
2、ATM余额充足
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:会员卡
2、密码:
3、取款金额:
取款失败,提示:银行卡类型不对,并吐卡
ATM_003取款失败(密码错误3次)ATM1、银行卡账户余额充足
2、ATM余额充足
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:银行卡
2、密码:错误密码3次
3、取款金额:
取款失败,提示:密码错误超过3次,并吞卡成功。
ATM_004取款失败(余额不足)ATM1、银行卡账户为0
2、ATM余额充足
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:银行卡
2、密码:正确密码
3、取款金额:1000
取款失败,提示:账户月不足。90秒后自动退卡
ATM_005取款失败(取款金额非100的整数)ATM1、银行卡账户余额充足
2、ATM余额充足
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:银行卡
2、密码:正确密码
3、取款金额:130
1、取款失败,提示:取款金额必须为100的倍数,单次在20000内
ATM_006取款失败(ATM机余额不足)ATM1、银行卡账户余额充足
2、ATM余额为200
P01、插入卡
2、输入密码
3、输入取款金额
4、拿钱取卡
1、卡:银行卡
2、密码:正确密码
3、取款金额:1000
1、取款失败,提示:ATM故障。
  • 错误推测法

  1. 定义:通过经验推测系统可能出现的问题。
  2. 思想:根据经验列举出可能出现问题的清单,根据清单分析问题可能原因推测并发现缺陷。
  3. 场景:时间紧任务量大时,根据之前项目类似的经验找出易出错的模块重点测试。时间宽裕时通过该方法列出之前问题出现较多的模块再次测试。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: UAT 测试用例和功能测试用例的主要区别在于它们的测试目的和执行环境不同。 UAT 测试用例是用户验收测试的一部分,目的是验证软件或系统是否符合用户需求和期望,通常由最终用户或客户执行。UAT 测试用例的执行环境是模拟真实生产环境,包括硬件、软件、网络等,以确保系统在实际使用中的稳定性和性能。 功能测试用例是在开发阶段执行的测试用例,目的是验证每个功能是否按照设计要求正确运行。功能测试用例的执行环境通常是开发环境或测试环境,不同于 UAT 测试用例的实际生产环境。 因此,UAT 测试用例更侧重于用户体验和业务流程,强调验证系统是否满足用户需求和期望。而功能测试用例更侧重于验证软件或系统的功能是否按照需求规格说明书和设计要求正确实现。 在测试用例编写时,应该根据测试目的和执行环境的不同,分别编写适合的 UAT 测试用例和功能测试用例,以保证测试的全面性和有效性。 ### 回答2: UAT测试用例和功能测试用例是软件测试过程中使用的两种不同类型的测试用例。它们之间的区别在于测试目的、测试覆盖范围和测试环境等方面。 首先,UAT测试用例(User Acceptance Testing,用户验收测试)是为了验证软件是否符合用户需求和预期的测试用例。它是最终用户在软件发布之前进行的测试,以确认软件是否满足他们的业务需求。UAT测试用例通常由最终用户或代表编写,重点测试软件的功能、易用性和符合性。 而功能测试用例是在开发过程中执行的测试用例,旨在验证软件的各个功能是否正常工作。功能测试用例是根据软件需求规格说明书编写的,通常由测试人员编写和执行。功能测试用例着重测试各个功能点是否按照需求规格说明书的要求正常工作,具体包括输入验证、界面交互、数据处理和功能逻辑等方面。 另外,UAT测试用例通常基于实际业务场景进行设计,更贴近实际应用环境。而功能测试用例则更注重测试软件的逻辑流程,以覆盖各个功能点。在测试覆盖范围上,UAT测试用例关注整个业务流程的完整性和正确性,而功能测试用例关注单个功能模块的功能点。 此外,UAT测试用例在测试环境上通常使用与实际生产环境相近的环境,以保证验证结果更接近实际。而功能测试用例则可以在开发或测试环境中进行。 综上所述,UAT测试用例和功能测试用例在测试目的、测试覆盖范围和测试环境等方面有所不同。两者在软件测试过程中起着不同的作用,相互补充,共同确保软件的质量和用户满意度。 ### 回答3: UAT测试用例和功能测试用例是软件测试中两个常用的测试方法。它们有以下区别: 1. 测试范围不同: - UAT测试用例(用户验收测试用例)是由最终用户或客户执行的测试用例,旨在验证软件是否符合用户需求和预期。 - 功能测试用例是由测试团队执行的用例,用于验证系统的各个功能是否按照需求规格说明书和系统设计要求正常运行。 2. 测试目的不同: - UAT测试用例主要目的是验证软件是否满足最终用户的需求和期望,确保软件在实际应用中的可用性和易用性。 - 功能测试用例主要目的是测试软件是否按照需求规格说明书中所定义的功能进行正常操作和处理,以保证软件的正确性和稳定性。 3. 测试者不同: - UAT测试用例由最终用户或客户执行,因此最终用户或客户需要具备一定的测试知识和技能。 - 功能测试用例由测试团队执行,测试人员需要具备测试技术和经验。 4. 测试环境和数据不同: - UAT测试用例通常在与生产环境相似的测试环境中进行,使用真实的数据和场景进行测试。 - 功能测试用例可以在不同的测试环境中进行,可以使用实际数据,也可以使用模拟数据。 5. 验证内容不同: - UAT测试用例主要验证软件的可用性、易用性、界面设计和用户体验等方面。 - 功能测试用例主要验证软件的各个功能是否正常运行,包括输入、输出、逻辑和边界条件等方面。 总的来说,UAT测试用例和功能测试用例在测试范围、目的、测试者、环境和验证内容等方面存在较为明显的区别。它们是测试过程中的两种常用方法,可以互相协作,共同确保软件的质量和用户满意度。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值