IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> day02_常用功能测试之用例设计方法 -> 正文阅读

[开发测试]day02_常用功能测试之用例设计方法

测试用例?

概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等。

测试用例的核心要素

不同的公司,测试用例模板大同小异。但是都离不开测试用例的核心几大要素

  • 用例编号:表示用例的唯一性,有时也叫用例ID。一般情况下使用 项目-模块-序号方式命名
  • 用例标题:表示要测试或验证的目的,通常一句话简要描述,要求:唯一丶见名知意
  • 测试项目:当前测试的功能所属范围
  • 用例级别:表示用例测试功能的重要程度或者影响力,一般我们使用高丶中丶低来区分
  • 预置条件:验证该功能需要的前提条件
  • 输入数据:必要的输入数据
  • 执行步骤:验证该功能需要的先后操作步骤
  • 预期结果:希望得到的结果

下图是一家公司使用的测试用例模板

测试用例的设计原则:

  • 正向测试用例的级别永远高于反向测试用例用例标题:好的标题,言简意赅,我们看标题就知道结果。例如:输入正确的手机号码、验证码、密码、确认密码、推荐人手机号,注册成功。
    • P0:一般为保证软件中最主要、重要的功能,最基本的流程能正常运行而设计
    • P1:次要功能、小功能
    • P2:UI、边界、错误的设置
    • P3:错误信息、较复杂的场景、不常用的场景
  • 当有多个测试输入的时候,我们必须要保证只有一个不满足要求的测试输入,便于我们精确定位bug的存在。

软件测试用例的作用

  • 便于理清测试思路,确保需覆盖测试的功能点无遗漏
  • 便于测试工作量的评估
  • 便于提前准备测试数据
  • 便于把控测试工作进度
  • 便于回归测试
  • 便于测试工作的组织,提高测试效率,降低测试交接成本

等价类划分法

概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放(大大减少了测试用例的数量,从而提升测试效率。)

适用场景

  • 针对需要数据量大,有测试数据输入的地方
  • 典型代表:页面级的输入框类测试

等价类划分为

  • 有效等价类满足需求的数据子集
  • 无效等价类:不满足需求的数据子集

等价类划分法设计用例步骤

  1. 明确需求
  2. 确定有效和无效等价类。我们可以从需求明确规则丶长度丶类型丶是否为空丶是否重复等多个维度去违反设计无效等价类。每次我们只能设计一种无效等价类,以确定无效原因。
  3. 提取数据编写测试用例:?一条用例尽可能多的覆盖有效等价类,无效等价类中每个取值都要使用一条用例来覆盖

?案例:

  • 新浪邮箱登录,要求输入(邮箱名)@sina.cn和(密码)
  • 邮箱名为:4-16位字符,支持英文、数字、下划线(不能全是数字或者下划线)
  • 密码:6-18位字符

解题思路

  1. 先逐行逐字读题目,明确需求
  2. 划分有效等价类和无效等价类

?当有多个测试输入条件时,务必确保只有一个不满足条件(无效等价类),测试异常的情况?

? 3:提取测试数据,写出测试用例,下图是测试用例的标题

边界值分析法

边界值是对等价类的补充统计表明程序最容易出错的地方就是在边界附近。概念:基于边界值【有效等价类和无效等价类的分界点】设计测试用例的一种【黑盒】方法。

适用场景

  • 在等价类的基础上针对有边界范围的测试数据输入的地方
  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
  • 典型代表:有边界范围的输入框类测试

边界范围的确定

选取正好等于、刚好大于、搞好小于边界的值作为测试数据

  • 上点:边界上的点(正好等于)
  • 离点:距离上点最近的点(刚好大于、刚好下于)
  • 内点:范围内的点(区间范围内的数据)

边界值法设计用例步骤

  1. 明确需求
  2. 确定有效和无效等价类
  3. 确定边界范围值,上点丶内点丶离点
  4. 提取数据编写测试用例

一般情况,我们先使用等价类先对要测试的单个功能点设计测试用例,之后我们在使用边界值对此功能点设计测试用例。最终的测试用例数据就是两者之和。

判定表法

  • 等价类边界值分析法主要关注单个输入类条件的测试,并未考虑输入条件之间的各种组合、输入条件与输出结 果之间有相互制约关系的测试。
  • 判定表:是一种以表格形式表达多条件逻辑判断的工具。

使用场景:

存在多个输入条件、多个输出结果,输入和输入之间有组合关系,输入和输出之间有依赖或制约关系。我们就可以使用判断表。

组成部分

  • 条件桩:列出问题中的所有条件。列出条件的次序无关紧要。(所有输入条件?)
  • 动作桩:列出问题中可能采取的操作。操作的排列顺序没有约束。(所有的可能的输出结果?
  • 条件项:列出条件对应的取值。所有可能情况下的真假值。(单个条件的取值范围,一般都是有效等价类和无效等价类?
  • 动作项:列出条件项的各种取值情况下应该采取的动作结果。(基于每一种条件的组合,得到确认的结果?)

规则:判定表中贯穿条件项和动作项的一列就是一条规则 假设有n个条件,每个条件的取值有两个(0,1),全组合有2^n种规则

真假表示说明:

?一般情况,我们使用数字或者符号表示条件的真假

设计测试用例的步骤

  1. 明确条件桩(找到所有的输入条件)
  2. 明确动作桩(找到所有的输出结果)
  3. 对条件桩进行全组合
  4. 明确每个组合对应的动作桩(基于每一种条件的组合情况,确定本组合下的输出结果)
  5. 设计测试用例,每行数据对应一条测试用例

案例

因果图

因果图是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适用于检查程序输入条件的各种组合情况。

通常理解为因果图为判定表的前置过程,当被测对象因果关系较为简单时,可以直接使用判定表设计测试用例;如若不然可使用因果图与判定表结合的方法设计测试用例。

基本符号

  • 恒等(-):条件成立,结果成立。
  • 非(~)NOT:条件成立,结果不成立;条件不成立,结果成立。
  • 或(V)OR:只要有一个条件成立,结果就成立;所有条件都不成立时,结果才不成立。
  • 与/且(^)AND多个条件必须同时成立,结果成立;只要有一个不成立,结果就不成立。

设计测试用例的步骤

  1. 需求分析
  2. 画出因果图
  3. 将因果图转换为判定表
  4. 生成测试用例

正交法

正交法就是一种基于组合数学和概率学知识,通过设计最少的测试用例来获得最大的测试覆盖率的科学实验方法。

适用范围

  • 输入数据或者输入数据的组合数量很大的场景

正交表说明

  • k代表因素(输入参数)
  • m叫水平(输入参数的取值)
  • n代表测试用例数
  • 读法:k因素m水平

基于正交表设计测试用例步骤

  1. 需求分析
  2. 确定因素与水平(因素:控件名称;水平:每个控件对应的取值)
  3. 确定要采用的正交表
  4. 将正交表中的字母用文字代替
  5. 设计测试用例(一行就是一条测试用例)

场景法

场景法,也可以叫流程图法。场景法就是模拟用户操作软件时的场景,主要用于测试多个功能之间的组合使用情况。然后通过覆盖流程路径来设计测试用例。

场景法的意义

  • 用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用
  • 测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试

使用测试阶段

  • 集成测试
  • 系统测试
  • 验收测试

流程图常用符号

绘制流程图

  1. 确认场景中关键业务步骤
  2. 确定业务之间的先后顺序
  3. 用箭头连接即可

设计测试用例的步骤

  1. 需求分析
  2. 绘制流程图
  3. 设计测试用例(一条流程路径就是一条测试用例)

错误推测法

  • 概念:错误推测法是指利用直觉和经验猜测出错的可能类型,有针对性列举出程序中所有可能的错误和容易发生错误的情况,它是测试经验丰富的测试人员喜欢的一种测试用例设计方法。列举可能犯的错误或错误易发生的清单,然后根据清单编写测试用例

使用场景

  • 重要功能
  • 使用同类型产品
  • 项目紧、任务急、时间不够,不能按部就班的进行测试
  • 根据之前项目经验,找到之前出错过的类似模块进行重点测试(bug的群集现象)

总结:

  • 具有输入功能,但输入之间没有组合关系==》等价类
  • 输入有边界 如长度、类型==》边界值
  • 多输入、多输出、输入与输入之间存在组合关系、输入与输出之间存在依赖或制约关系==》判定表或因果图
  • 用最少的测试用例获得最大测试覆盖率时 ==》正交法
  • 多个功能的组合测试 ==>?场景法(流程图)
  • 最后推荐使用错误推测法来进一步补充测试用例
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:46:39  更:2021-10-25 12:46:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 2:26:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码