黑盒测试方法:原理+实战

目录

一、如何设计测试用例

二、黑盒测试常用方法

1、基于需求进行测试用例的设计

2、等价类

 3、边界值

4、判定表分析法(因果分析法)

5、正交表

 6、场景设计法

 三、案例补充

1、使用Fiddler模拟弱网

2、针对一个接口该如何测试 


一、如何设计测试用例

测试用例是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、测试步骤、测试数据、测试结果等要素。

设计测试用例的一个万能公式

功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

二、黑盒测试常用方法

1、基于需求进行测试用例的设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就是要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计。

需求文档->梳理需求(掌握需求)->针对文档设计测试用例(基于需求设计测试用例)

在分析测试需求一般可以分为功能测试需求非功能测试需求

功能测试需求通常包括以下几个方面:

  1. 系统各个功能界面的验证
  2. 借助业务把功能串起来进行测试
  3. 功能的一致性、交互性(多功能互操作)的测试
  4. 系统的不同输入,结果输出的业务数据测试
  5. 功能的错误操作,异常操作的测试(属于负面测试)
  6. 功能实现用到的算法验证,有时需要运用代码评审
  7. 用户操作的易用性、用户体验、往往结合功能测试同时验证

非功能测试需求包括:兼容、性能、安全、网络等。

 针对具体的需求,可以根据业务分类,用户角色(餐厅的会员系统)或者用户操作区域等将系统的功能分解成若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功能模块划分,业务模块划分是最常见的做法。

 基于需求设计测试用例的这种方法其实时比较单一的,只使用这种方法进行测试用例的设计难免会有很多的地方考虑不周,所以下面介绍的黑盒测试方法就是在需求的基础上,更精细的进行弥补和设计。

2、等价类

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

等价类可以分为两种

  • 有效等价类:满足用户需求的输入集合。
  • 无效等价类:不满足用户需求的输入集合。

等价类思想设计测试用例步骤

①、充分理解需求

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

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

 比如注册页面用户名限定长度6~15位,那么6~15位就是有效等价类,没有在这个范围内的长度都是无效等价类。

 3、边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法时作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

这里我们还需要了解一下边界点的概念:

  1. 上点:边界上的点
  2. 内点:边界内的点
  3. 离点:边界值附近的一个点。如果是一个闭区间,我们需要在区间外找距离上点最近的点;如果是开区间,则在区间内距离上点最近的点。

 边界值设计测试用例方法

①、充分理解需求

②、找边界点

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

4、判定表分析法(因果分析法)

判定表法是因公图法的简化,知识神略了因果图法中的画图过程,是黑盒测试中常用的一个方法,他主要用于测试有多种输入,并且结果会依赖于输入的情况而有所不同的场景。

判定表中存在以下4中关系:

:所有的条件必须满足,如果一个条件不满足,此时结果为假。

:满足其中一个条件结果就为真,如果条件全部为假,结果就为假。

恒等:条件为真、结构一定为真。

:条件为佳,结果才为真。

 判定表分析法设计测试用例的步骤:

  1. 分析所有可能的输入和可能的输出。
  2. 找出输入与输出之间的对应关系。
  3. 设计判定表
  4. 把判定表对应到每一个测试用例

✨ 案例

假设业务单据的处理规则为:"淘宝618活动,订单已提交,订单合计金额大于300元或者有红包,则进行优惠"。

1️⃣第一步确定输入输出

输入:订单已提交,订单金额大于300,有红包。

输出:优惠、不优惠。

2️⃣第二部:输入和输出之间的关系

订单已提交,金额大于300,有红包,优惠。

订单已提交,金额大于300,没有红包,优惠。

订单已提交,金额小于300,有红包,优惠。

订单已提交,金额小于300,没有红包,不优惠。

订单未提交,金额大于300,有红包,不优惠。

订单未提交,金额大于300,没有红包,不优惠。

订单未提交,金额小于300,有红包,不优惠。

订单未提交,金额小于300,没有红包,不优惠。

 3️⃣第三步 

 4️⃣第四点:测试用例要素

5、正交表

使用判定表法存在用例数目比较多的情况,而正交表法的目的就是为例减少用例数目,用尽量少的用例覆盖输入的两两组合;正交排列是一种系统的,有序的排列方式,用于软件测试用例设计中,可以保证测试用例的相互独立,减少重复测试,提高测试效率。

1️⃣什么是正交表

最简单的正交表是L^{4}\left ( 2^{3} \right ),含义是:"L"代表正交表;L上角的数字"4"表示有4横行,简称行,即要做四次试验;括号内的指数"3"表示有3纵列,简称列,即最多允许安排的因素是3个;括号内的数字"2"表示表的主要部分只有2种数字(两种取值),即因素有两种水平1与2.正交表的特点是其安排的试验方法具有均衡搭配特性。

2️⃣两个重要的概念

因素:输入变量

水平:每一个输入变量取值

3️⃣正交表的两条性质

每一列种各个数字出现的次数都一样多

任何两列种的各有序数对出现的次数都一样多

4️⃣如何通过正交表设计测试用例

充分理解需求 ->确定因素,确定水平 ->画正交表 ->补充正交表 ->将正交表转换成测试用例

✨示例

继续以注册的需求为例:

姓名、邮箱、密码、确认密码、验证码必须全部输入,才能进行注册。

①列出因素和水平

因素:姓名、邮箱、密码、确认密码、验证码

水平:填写、不填写

②使用allpairs来画正交表

  • 将因素和水平放到excel表格中

  • 将excel表格内容直接复制到txt文本中

  • CMD进入到allpairs安装路径下面

  • 使用allpairs生成正交表:allpairs 正交表测试.txt > 正交表测试_result.txt

 打开正交表测试_result.txt文件

正交表生成之后,还需要查看以下,生成的是否完整,如果不完整则需要补充以下。

③、将正交表转换为测试用例

正交表的每一行都是一个测试用例

 6、场景设计法

场景设计法设计测试用例的步骤

充分理解需求 ->确定主事件流 ->确定次事件流 ->每一个事件就是一个测试用例

主要分为基本事件流和多个备用事件流

  • 基本事件流:对于一个场景的最基本的事件流,即软件功能按照正确的事件流,中间无任何差错,从开始一直执行到结束的一条正确流程。
  • 备用事件流:对于一个业务可能发生异常情况的场景进行测试,软件功能在执行过程中,除了基本流之外可能遇到的各种情况,是包含可能存在问题的各个支流。

 三、案例补充

1、使用Fiddler模拟弱网

打开弱网设置

 进行用户设置

打开之后,会出现一个脚本文件,这个时候我们找到 OnBeforeRequest方法,修改其中的代码就可以进行传输速率的设置。在OnBeforeRequest中找到下面的代码,就可以进行设置了。

2、针对一个接口该如何测试 

这个时候我们可以打开电脑浏览器搜索内容在,network中查看数据的传输。

 将拷贝的信息,在postman中进行解析,成功之后点击send,向服务器发送请求,服务器返回数据。

 

 这个时候想要测试接口,我们就可以根据请求方法进行测试,将测试方法修改一下查看返回数据。

 也可以根据请求参数进行测试,将参数修改一下来查看返回的数据。

总结:我们向对一个接口进行测试,可以通过上述的方法,将URL拷贝到postman中,然后针对性的进行测试。

  • 测试HTTP请求方式(get、post、delete)
  • 针对参数进行测试(传递所有参数,传递部分参数、不传递参数,给参数设置null值)。
  • 性能测试。

......

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

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

相关文章

VR酒店虚拟仿真情景实训教学演示

在传统的酒店管理教学过程中,学生往往缺乏实践操作经验,难以将理论知识与实际工作相结合。而VR酒店虚拟仿真情景实训教学应用可以为学生提供一个逼真的、沉浸式的酒店管理环境,使学生能够在模拟实践中掌握酒店管理的各项技能。 VR酒店虚拟仿真…

【网络安全】如何保护IP地址?

使用防火墙是保护IP地址的一个重要手段。防火墙可以监控和过滤网络流量,并阻止未经授权的访问。一家网络安全公司的研究显示,超过80%的企业已经部署了防火墙来保护他们的网络和IP地址。 除了防火墙,定期更新操作系统和应用程序也是保护IP地址…

[架构之路-235]:目标系统 - 纵向分层 - 数据库 - 数据库系统基础与概述(快速入门、了解核心概念):概念模型、逻辑模型、物理模型

目录 一、核心概念 1.1 什么是数据与信息 1.2 数据与数据库的关系 1.3 什么是数据库 1.4 数据库中的数据的特点 1.5 数据库与数据结构的关系 1.6 什么是数据库管理系统 1.7 什么是数据库系统 1.8 数据库的主要功能 1.9 Excel表格是数据库吗? 1.10 Excel表…

服务器启用SGX(以PowerEdge R750为例)

一、检查处理器是否支持SGX 在shell中输入以下命令查看CPU型号 cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c在Product Specifications中找到对应的处理器参数信息,如果支持SGX,可以在Security & Reliability中看到如下信息 二、以“软…

设计模式 - 行为型模式考点篇:模板方法模式(概念 | 案例实现 | 优缺点 | 使用场景)

目录 一、行为型模式 1.1、模板方法模式 1.1.1、概念 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 一句话概括行为型模式 行为型模式:类或对象间如何交互、如何划分职责,从而更好的完成任务. 1.1、模板方法模式 1.1.1、概念 …

LabVIEW(一)简介

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种程序开发环境,是由美国国家仪器(NI)公司研制开发的。LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生…

JavaEE初阶学习:HTTP协议和Tomcat

1. HTTP协议 HTTP协议是一个非常广泛的应用层协议~~ 应用层协议 —> TCP IP 协议栈 应用层 —> 关注数据怎么使用~ 传输层 —> 关注的是整个传输的起点和终点 网络层 —> 地址管理 路由选择 数据链路层 —> 相邻节点之间的数据转发 物理层 —> 基础设置,硬…

聚观早报 | 三星与游戏开发商合作;长城汽车销量超86万辆

【聚观365】10月10日消息 三星与游戏开发商合作 长城汽车销量超86万辆 国产特斯拉三季度交付22万辆 苹果开始下一代Vision Pro研发 上半年加速服务器市场GPU服务器占88% 三星与游戏开发商合作 据外媒报道,包括Epic Games和Krafton在内的游戏开发商已宣布与三星…

嵌入式学习笔记(51)X210板载gsensor介绍

10.4.1原理图查询 (1)gsensor的供电由PWMTOUT3引脚控制。当PWMTOUT3输出低电平时gsensor无电不工作;当输出高电平时gsensor才会工作。 (2)gsensor的SDA和SCL接的是S5PV210的I2C端口0。 (3)将来编程时在gsensor init函数中要去初始化相关的GPIO。要把相应的GPIO设…

如何列出 Ubuntu 和 Debian 上已安装的软件包

当你安装了 Ubuntu 并想好好用一用。但在将来某个时候,你肯定会遇到忘记曾经安装了那些软件包。 这个是完全正常。没有人要求你把系统里所有已安装的软件包都记住。但是问题是,如何才能知道已经安装了哪些软件包?如何查看安装过的软件包呢&a…

px4仿真实现无人机自主飞行

一,确定消息类型 无人机通过即在电脑是现自主飞行:思路如下。 通过Mavros功能包,将ROS消息转换为Mavlink消息。实现对无人机的控制。 几种消息之间的关系如下: 对于ROS数据,就是我们机载电脑执行ROS系统的数据。 对于Mavros消息,就是Mavros功能包内部的消息。查询网站…

集线器、交换机、路由器是如何转发包的

集线器、交换机、路由器是如何转发包的 集线器交换机MAC地址表的维护 路由器路由表中的信息路由器的包接收操作查询路由表确定输出端口找不到匹配路由时选择默认路由包的有效期通过分片功能拆分大网络包路由器发送操作中的一些特点 参考文档 集线器 集线器是一层(物…