黑盒测试用例的具体设计方法(7种)

7种常见的黑盒测设用例设计方法,分别是等价类、边界值、错误猜测法、场景设计法、因果图、判定表、正交排列。

(一)等价类

1.概念

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

2.分类

有效等价类:满足用户需求

无限等价类:不满足用户需求

3.设计步骤

①充分理解需求;

②划分有效等价类、无效等价类;

③分别从有效等价类、无效等价类中各抽取其中一个数据进行测试用例设计。

4.设计测试用例

题目:针对6-15位长度设计测试用例

设计:

(二)边界值

1.概念

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,通常情况下搭配等价类使用,其测试用例来自等价类的边界。

2.边界点

上点:边界上的点

内点:边界内的点

离点:边界值附近的两个点------闭区间(区间外距上点最近的点)------开区间(区间内距上点最近的点)

举例:

3.设计步骤

①充分理解需求;

②找边界点;

③针对边界点设计测试用例

4.设计测试用例

题目:注册邮箱的软件用户名要求长度为6-15位

设计:

(三)错误猜测法

1.概念

对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

2.优缺点

优点:能评判出一个测试人员的能力和经验。

缺点:过度依赖个人能力,难以系统化。

3.设计测试用例

题目:注册一个邮箱

设计:

1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

(四)场景设计法

1.概念

通俗的说是用“事件流”设计场景测试用例,该方法可以比较生动地描绘出事件触发时的情景,使测试用例更容易理解和执行。

2.设计步骤

①充分理解需求;

②确定主事件流;

③确定次事件流;

④主事件流和次事件流产生出来的事件就是测试用例。

3.设计测试用例

场景/题目:ATM机取款

设计:

(五)因果图

1.概念

是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。

2.基本要素

与:一假且假,全真为真

或:一真且真,全假为假

恒等:真为真,假为假

非:真为假,假为真

3.设计步骤

①分析所有可能的输入和可能的输出;
②找出输入与输出之间的对应关系;
③画出因果图;
⑤把因果图对应到每一个测试用例。

4.设计测试用例

题目:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则有优惠”。

设计:①输入:订单已提交、金额大于300、有红包
              输出:优惠、不优惠。

           ②对应关系:2*2*2

            

③画因果图:设计标注1:订单已提交  2:订单金额大于300元  3:有红包  21:优惠  22:不优惠

(六)判定表

1.概念

数据是一张表来体现的,表里面有:输入(条件)、输出(结果)、关系(恒等、或、与、非)。

2.设计步骤

①分析所有可能的输入和可能的输出;
②找出输入与输出之间的对应关系;
③画出判定表。
⑤把判定表对应到每一个测试用例。

3.设计测试用例

题目:“淘宝618活动,订单已提交,订单合计金额大于300元或有红包,则有优惠”。

设计:①输入:订单已提交、金额大于300、有红包
              输出:优惠、不优惠。

   ②对应关系:2*2*2

            

③画判定表:设计标注1:订单已提交  2:订单金额大于300元  3:有红包  21:优惠  22:不优惠

(七)正交排列

1.概念

是研究多因素多水平的一种设计方法,由试验因素的全部水平组合中挑选出部分有代表性的点进行试验,找出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验,解决了判定表用力太多的问题。

2.基本要素

因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
水平(位级)(Level)
:在试验范围内,因素被考察的值称为水平(变量的取值)

3.正交表构成

行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
因素数(Factors):正交表中列的个数,用C代表。

水平数(Levels):任何单个因素能够取得的值的最大个数,用T代表。 

正交表的表示形式:L=行数(水平数*因素数) 

4.性质

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

5.设计测试用例步骤

1、有哪些因素(变量)
2、每个因素有哪几个水平(变量的取值)
3、选择一个合适的正交表
4、把变量的值映射到表中
5、把每一行的各因素水平的组合作为一个测试用例
6、加上你认为可疑且没有在表中出现的用例组合

6.设计测试用例

题目:注册邮箱
设计:

1、因素:姓名、邮箱、密码、确认密码、验证码
2、水平:填写、不填写


3、表中的因素数=5;
表中至每个因素数的水平数=2
行数取最少的一个,即试验次数最少的一个
L=N(TC)=(2-1)*5+1=6(25) N=Cx(T-1)+1
L=6(25)
N试验次数
T水平数
C因素数
选择正交表,这里选择了L6_2_5。正交表不是随便选择的,而是设计好的
4、生成测试用例
思路:因素取值为填写时:正交按取值个数5-3-2-1(5已全了,3,2,1任意排列)进行排列,实验次
数不够用取值为填写个数为2或3任意组合,但要满足正交的二条性质。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/655769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目交付后,PM该如何做复盘总结?

2023已经收尾,那些让我们或焦灼、或紧急、或喜悦、或悲伤的项目也都交付完毕了。为了更好的总结工作成果与反思,各家单位开始一边排练年会舞蹈一边要求员工做出项目交付后复盘方案了,那么,怎样的复盘才会让项目工作更加明确&#…

涂鸦小程序事件系统——小程序间通信

背景信息 一些内聚的、特定的功能模块,可能会被拆分成多个小程序,这些小程序之间需要进行通信、协作,完成数据的传递、状态的同步等。 基础库版本 ≥ 2.9.0 打开其他小程序 小程序可以通过 ty.navigateToMiniProgram 接口打开其他小程序&am…

每日OJ题_算法_前缀和④_力扣238. 除自身以外数组的乘积

目录 力扣238. 除自身以外数组的乘积 解析代码 力扣238. 除自身以外数组的乘积 238. 除自身以外数组的乘积 难度 中等 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数…

1. HarmonyOS 应用开发 TS 准备-1

1. HarmonyOS 应用开发 TS 准备-1 一、TypeScript 是什么 TypeScript 是一种由微软开发的自由和开源的编程语言。 它是 JavaScript 的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。 TypeScript 提供最新的和不断发展的 JavaScript…

美易官方《盘前:道指期货跌0.04% 风险周降临》

盘前:道指期货跌0.04% 风险周降临 随着市场的波动,道指期货在盘前微幅下跌0.04%,投资者们正在迎接一个重要的风险周。这个风险周可能会对市场产生重大影响,因此投资者们需要密切关注。美股股指期货周一盘前涨跌互现,本…

如何在群晖NAS部署office服务实现多人远程协同办公编辑文档

文章目录 本教程解决的问题是:1. 本地环境配置2. 制作本地分享链接3. 制作公网访问链接4. 公网ip地址访问您的分享相册5. 制作固定公网访问链接 本教程解决的问题是: 1.Word,PPT,Excel等重要文件存在本地环境,如何在编…

35.【TypeScript 教程】编译选项

TypeScript 编译选项 TypeScript 提供了很多不同功能的编译选项,既可以通过配置 tsconfig.json 文件中的 compilerOptions 属性来实现编译,也可以使用在 tsc 命令后跟随参数这形式,直接编译 .ts 文件。 注意: 当命令行上指定了输…

Web3技术革新:重新定义在线体验

互联网的不断演进塑造了我们的数字生活,而Web3技术的涌现正带来一场前所未有的变革。本文将深入探讨Web3技术的创新,以及它如何重新定义和提升我们的在线体验。 Web3技术的基本概念 Web3是互联网的第三个时代,它将去中心化、区块链、智能合约…

解决import Jetson.GPIO报错“权限错误”

在导入Jetson.GPIO模块时出现权限错误,可能是由于缺少适当的权限或设备权限问题。以下是一些建议: 使用sudo: 尝试使用sudo来运行你的Python脚本或解释器,以获取足够的权限: sudo python your_script.py请注意&#xf…

(一)PySpark3:安装教程及RDD编程(非常详细)

目录 一、pyspark介绍 二、PySpark安装 三、RDD编程 1、创建RDD 2、常用Action操作 ①collect ②take ③takeSample ④first ⑤count ⑥reduce ⑦foreach ⑧countByKey ⑨saveAsTextFile 3、常用Transformation操作 ①map ②filter ③flatMap ④sample ⑤d…

【Linux】—— 信号的产生

本期,我们今天要将的是信号的第二个知识,即信号的产生。 目录 (一)通过终端按键产生信号 (二)调用系统函数向进程发信号 (三)由软件条件产生信号 (四)硬件…

会计分录的概念和应用

目录 一. 会计分录的概念二. 会计分录的分类三. 会计分录的应用 \quad 一. 会计分录的概念 \quad 会计分录是指对每笔经济业务列示其应借记和应贷记账户及其金额的一种记录。 会计分录的基本要素 ( 1 )账户及其所属明细账户名称(或会计科目及其所属明细科目名称) (2 )记账方向…

Linux系统——正则表达式

有一段时间本机访问量过高,如何查看日志提取出访问量前十的信息 1.使用提取命令(cut、awk、sed)提取出ip地址的那一列 2.使用sort按数字排序,将相同的地址整合到一起 3.使用uniq -c统计出数量 4.使用sort 数字 数字倒序排序 5.最…

nginx的编译安装

nginx 的编译安装 1. 准备 下载地址:https://nginx.org/en/download.html linux服务器环境 2. 安装 2.1 解压并进入源码目录 tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0.tar.gz 2.2 安装 nginx编译时所需的依赖库 yum -y install gcc pcre pcre-devel zli…

MySQL二月进阶学习计划

CSDN的各位读者,大家好。马上过年了,最近工作不是很忙,所以有很多时间用来学习。 过去的一周我也学习了一部分内容,但是像无头苍蝇一样没有规划。 我计划用整个2月的时间,再好好学习一遍MySQL数据库相关的知识。下面是…

【大数据】Flink SQL 语法篇(一):CREATE

Flink SQL 语法篇(一) 1.建表语句2.表中的列2.1 常规列(物理列)2.2 元数据列2.3 计算列 3.定义 Watermark4.Create Table With 子句5.Create Table Like 子句 CREATE 语句用于向当前或指定的 Catalog 中注册库、表、视图或函数。注…

Vue使用百度地图实现聚合的效果(vue-baidu-map)

Vue使用百度地图实现聚合的效果(vue-baidu-map) 安装插件:yarn add vue-baidu-map在main.js中全局引入密钥(在百度开发者中心注册):import BaiduMap from vue-baidu-map Vue.use(BaiduMap, {ak: your_app_key // 百度地图秘钥 })…

PySimpleGUI界面读取PDF转换Excel

PySimpleGUI 是一个用于创建图形用户界面的 Python 库,而 PDF 文件和 Excel 文件是两种不同的数据格式。要将 PDF 文件转换为 Excel 文件,你需要使用额外的库,如 pdf2excel。 下面是一个示例流程,展示了如何使用 PySimpleGUI 创建…

Compose | UI组件(十一) | Spacer - 留白

文章目录 前言Spacer组件的参数说明Spacer组件的使用 总结 前言 Spacer组件是让两组件之间留有空白间隔 Spacer组件的参数说明 Spacer只有一个修饰符,修饰留空白的大小和比例,颜色 Spacer(modifier: Modifier)Spacer组件的使用 Row {Box(modifier M…

Ruby安装演示教程

当涉及到 Ruby 的安装过程时,一种常见的方法是通过 RVM(Ruby Version Manager)来进行安装和管理。以下是在 Linux 系统上使用 RVM 安装 Ruby 的步骤演示教程: 1、安装 RVM: # 在终端中执行以下命令来下载并安装 RVM…