业务测试如何设计用例

  • 一、流程类测试设计
    • 1.流程类测试点有哪些特征
    • 2、流程类分析方法
  • 二、参数类测试设计
    • 1、参数类测试点有哪些特征
    • 2、参数类测试设计方法
  • 三、数据类测试设计
    • 1、数据类测试点有哪些特征
    • 2、数据类测试设计方法
  • 四、组合类测试设计
    • 1、组合类测试点有哪些特征
    • 2、组合类测试设计方法
  • 五、四步测试设计法
    • 第一步:建模
    • 第二步:设计基础测试用例
    • 第三步:补充测试数据
    • 第四步:扩展
    • 总结

一、流程类测试设计

1.流程类测试点有哪些特征

流程类测试点,拥有流程方面的一些特征。具体来说,我们将测试点分成一些步骤,会因为输入的不同而进行不同的处理,全部分析完成后,能够将测试点绘成如图所示的流程图

有时候,一个测试点可能只能绘出一个流程片段,我们可以把与此相关的测试点放到一起,使其能够表示一个较为完整的流程

2、流程类分析方法

流程类使用路径分析法进行覆盖如:覆盖类型:语句覆盖、分支覆盖、全覆盖、线性无关覆盖

  • 语句覆盖:保证每条语句最少被执行一次(过程、判断即语句)

  • 分支覆盖(判定覆盖):每个判定的每种结果最少执行一次

  • 全覆盖:100%覆盖所有可能的路径。采用排列组合算法,得出“全路径”

  • 最小线性无关覆盖:保证流程中的每个路径片段最少执行一次

  • 最小线性无关覆盖:(三等式+算法)

    三个等式计算流程图的路径数:(三等式等效,计算结果应该相同)

  • 四种覆盖算法总结

    1. 覆盖强度:语句覆盖<条件覆盖<最小线性无关覆盖<全覆盖
    2. 可根据功能的重要等级选择使用哪种覆盖
    3. 新需求流程图分析完后,可采用最小线性无关覆盖
    4. 特别重要的功能,再具体分析,是否采用全覆盖
    5. 通过流程图写出基本测试用例

二、参数类测试设计

1、参数类测试点有哪些特征

  • 如果测试点中主要包含的是一些参数,能够概括成和图所示类似的样子(“A”表示参数,“a1”“a2”“a3”表示“A”的取值),就可以认为这个测试点是参数类的

  • 参数类的测试点有以下两个重要的特点:

    第一,“参数值”的个数是有限的,可以通过遍历的方式来测试覆盖到

    第二,系统会对不同的“参数值”作出不同的处理或响应

2、参数类测试设计方法

参数类适合场景

  • 功能点的多个参数之间存在相互关系,需要对参数进行“组合”分析

1. 分析方法“输入-输出表”

2. 分析步骤

第一步: 列出“输入-输出表”
第二步:100%覆盖“输入-输出表”
第三步: 其他扩展补充

3. 具体步骤

步骤一

  1. 确定参数和参数值
  2. 确定约束条件
  3. 将所有参数组合列出来,根据约束条件,删除重复项
  4. 将表格中的重复项去掉后,得出最终的输入输出表

步骤二

  1. 覆盖“输入-输出表”,得出测试用例

参数类总结

  1. 适合产品对各参数处理不同,且相互之间有约束关系
  2. 得出正确的约束条件,需要掌握内部实现/协议规定
  3. 参数类用例得出后,设计用例数据时,又可结合数据类方法

三、数据类测试设计

1、数据类测试点有哪些特征

  • 如果测试点中主要包含的是一些数据,能够概括成和图所示类似的样子(“A”表示参数,“amin”“amax”表示“A”的取值范围),就可以认为这个测试点是数据类的
  • “数据”类的特点
    第一,数据的取值是一个范围,通常不能用遍历的方式来测试覆盖
    第二,系统对允许输入的“数据”作出的处理或响应往往是一样的

2、数据类测试设计方法

对数据类的测试方法:适合类型

  1. 设计需求规格用例
  2. 对流程类分析得到的测试点,设计用例的输入数据

具体步骤

步骤一:列出“等价类分析表”

  • 入值按照测试效果进行划分,测试效果相同的测试数据归为一类
    1、有效等价类(产品规格合理的、有意义的输入数据构成的集合)
    2、无效等价类(不合理、无效的数据集合)

  • 等价类划分原则
    1、无冗余性:划分的子集互不相交
    2、完备性:各子集合并为整个集合

  • 等价类划分方法
    1、若规定了取值范围或个数,可分为一个有效等价类、2个无效等价类
    2、规定了输入数据必须遵守的规则,可确立一个有效等价类和多个无效等价类

步骤二:使用“边界值”来为“等价类分析表”确定测试数据

  • 边界值:条件参数在输入边界的取值;取完边界值,再取一个有效中间值测试
  • 其余无效项不用再划分边界值,直接使用无效等价类为测试数据

步骤三:部分测试点的等价类相同,则可将等价类分配到不同测试点

步骤四:根据等价类分析表,整理出用例

数据类总结

  1. 确定等价类时,需与开发讨论,同一类测试数据的处理是否相同
  2. 有些等价类可直接作为用例数据,不需再取边界值如:密码只包含大写字母、小写字母
  3. 有效等价类取完边界值,可再选取一个中间值, 如:VLAN规格[1,4094],有效等价类取值1,4094,2000
  4. 多个测试点的等价类相同,则将数据分配到不同测试点,避免用例冗余,如:上页中不同方式修改账号密码
  5. 某功能点包含多项数据类时,测某项无效类时,另一项取有效类,如:密码限制有长度、字符类型。测长度无效类时,字符类型取有效类

四、组合类测试设计

1、组合类测试点有哪些特征

  • 和单纯的流程类相比,它可能有多个“输入”,这多个“输入”可能为参数,也可能为数据

2、组合类测试设计方法

  • 流程类+参数类+数据类型进行用例互补

五、四步测试设计法

  • 把测试点加工为测试用例,就叫测试设计,在这个过程中使用的方法就叫测试设计方法,路径分析法、判定表、正交分析法、等价类、边界值等都是常见的测试设计方法
  • 四步测试设计法是一套通过四个步骤来完成测试设计的方法。四步测试设计法中包含一些模型,对每一种模型,都有适合这个模型的测试设计方法,起到了很好的测试设计指引的作用
  • 四步测试设计法的四个关键步骤如图所示

第一步:建模

在这个步骤中,我们并不是要大家对每个测试点都原创出一些测试模型,而是根据测试点的特征,为测试点选择一个适合后续测试设计的模型。也许我们称这个步骤为“选模”更为贴切

既然“选模”需要参考测试点的特征,研究测试点、分析特征的情况并对其进行归类是必不可少的。目前我们将其分为四类

  • 类型1:“流程”
  • 类型2:“参数”
  • 类型3:“数据”
  • 类型4:“组合”

对每一类测试点,我们都给出了一些最适合的“建模”方法:

  • “流程”类,可以通过绘制“流程图”来建立测试模型
  • “参数”类,可以通过“输入输出表”来建立测试模型
  • “数据”类,可以通过“等价类分析表”来建立测试模型
  • “组合”类,可以通过“因子表”来建立测试模型

“建模”帮我们解决了面对众多测试方法的选择性难题,使得测试设计变得很有针对性,科学又有效

第二步:设计基础测试用例

在这个步骤中,我们会对已经建立好的测试模型,来设计一些基础测试用例,覆盖这个测试模型
为什么我们称此时的测试用例为基础测试用例呢?测试用例和基础测试用例最大的差别在于,测试用例确定了测试条件(类似“在XX情况下,进行XX的测试”的描述)和测试数据(就是输入的“参数值”或“数值”),而基础测试用例只确定了测试条件

第三步:补充测试数据

在这个步骤中,我们为基础测试用例来确定测试输入,补充测试数据,这时基础测试用例就升级成真正的测试用例了

第四步:扩展

模型不是银弹,不能解决测试设计的所有问题。我们还需要根据经验,特别是对系统哪些地方容易发生缺陷的认识,补充一些测试用例,增加系统的有效性

总结

  1. 建模:确定模块或功能的类型,将模块或测试点划分已以下四类中的一种或组合类
    ①流程类:将功能点分成一些步骤,会因为不同的输入产生不同的处理
    ②参数类:测试点包含的是参数,参数的个数是有限的,系统对不同参数值有不同的处理
    ③数据类:测试点主要包含数据,如用户名、IP地址配置合法校验等;数据的取值是范围,系统对合法的数据作出的处理相同
    ④组合类:将上述三类可以组合在一起的,为组合类
  2. 设计基础用例:不同模型采用不同分析方法,设计基础用例
  3. 补充测试数据:为基础用例补充测试数据
  4. 扩展:根据经验、其它类似产品历史缺陷、客诉补充用例

业务测试如何设计用例相关推荐

  1. 8年测试经验,用例设计竟然不知道状态图法?

    作为测试人,我们平时比较常用的软件测试测试方法有边界值.等价类划分.错误推测法.因果图.场景法等,如果提到状态图法,可能很多人都很陌生,今天我们就来一起认识下状态图法. 状态图通常在被测试软件状态比较 ...

  2. 软件测试--黑盒测试用例、测试步骤设计方法(正交实验法、功能图法、其他用例设计方法)

    黑盒测试用例设计(三) 正交实验法 正交表:一种特制的表,一般的正交表记为Ln(mk) m代表水平数,k代表因素数,n是需要进行实验的个数.这三个数没有任何数学关系. 仅适用于每个因素的水平数都相同的 ...

  3. petshop详解之五:PetShop之业务逻辑层设计

    五 PetShop之业务逻辑层设计业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分.它的关注点主要集中在业务规则的制定.业务流程的实现等与业务需求有关的系统设计 ...

  4. petshop4.0 详解之五(PetShop之业务逻辑层设计)[转]

    业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分.它的关注点主要集中在业务规则的制定.业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域( ...

  5. 58技术主席:还原万亿级三高业务场景的设计与实践

    孙玄,前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊点儿企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的,我们来聊点儿干的! 01.百万年薪的核心竞争力 作为前58集团 ...

  6. petshop4.0 详解之五(PetShop之业务逻辑层设计)

    五 PetShop之业务逻辑层设计 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分.它的关注点主要集中在业务规则的制定.业务流程的实现等与业务需求有关的系统设 ...

  7. web测试常用的用例及知识

      1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.    ...

  8. PetShop之业务逻辑层设计

    <解剖PetShop>系列之五 五 PetShop之业务逻辑层设计 业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分.它的关注点主要集中在业务规则的 ...

  9. 测试人员应看重「业务测试能力」

    大家好啊,我是大田. 2022.03.19 日更第 42 / 365 天 本篇想结合自己平时的学习和实践梳理下业务测试能力. 作为测试人员,拥有业务测试能力是非常重要的,它是做其他工作的基础,并不是要 ...

最新文章

  1. java signature 性能_Java常见bean mapper的性能及原理分析
  2. 如何锻炼自己的抗干扰能力
  3. PXC管理数据库服务器(引擎)
  4. reactjs高阶函数和函数柯里化
  5. Python中的类(2)
  6. java中rank函数_sql rank()函数
  7. 应用层——使用 Socket 通信实现 FTP 客户端程序
  8. 计算机数据恢复报告单,计算机数据恢复第三章MBR引导分析篇
  9. 目标检测——数据清洗的学习笔记
  10. 给Ionic写一个cordova(PhoneGap)插件
  11. 路由聚合(汇总)以及最长匹配原则
  12. 山东理工ACM【1009】Elevator
  13. ulimit命令参数及用法
  14. 直播商城APP功能介绍
  15. osg 根据两个点的经纬度计算方位角
  16. Spatial Attention
  17. 最简单ListView显示联系人姓名和电话号码
  18. 如何写批处理文件(.bat)
  19. (二)Landsat_5 TM 遥感影像波段合成真假彩色影像
  20. python人工智能开发语言_哪些编程语言最适合开发人工智能?

热门文章

  1. 磁盘被未知资源耗尽lsof -n|grep deleted
  2. 三种类型数据,轻松转换成 Excel
  3. IDEA 2017免费注册激活
  4. python短信发送查询数据库结果_python3读取数据库短信验证码
  5. 利用yum安装卸载软件常用命令
  6. Android面试汇总-Android内存和性能优化面试
  7. base64图片编码大小与原图文件大小之间的联系
  8. 什么是core文件?
  9. Python统计学实例之正态分布修正:一盒中红色糖球出现至少40%的概率
  10. 网络流(一)最大流问题EdmondsKarp和最小费用最大流