【软件测试基础篇】第二节.黑盒测试中常见方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • ⼀、等价类法(解决穷举问题)
  • 二、边界值法(解决边界限制问题)
  • 三、正交表法(解决多条件依赖问题)
  • 四、流程图(解决业务测试点覆盖问题)
  •       4.1 扩展:错误猜测法
  • 总结


前言


一、等价类法(解决穷举问题)

分类:

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

步骤:

  1. 明确需求
  2. 确定有效和无效等价类
  3. 提取数据编写用例

案例1:6-10自然数

示例:


案例2(电话)


用例执行

提示:预期结果与实际结果不一致,为缺陷。


场景:

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


  1.  输入框 
  2. 下拉列表 
  3. 单选复选框

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


二、边界值法(解决边界限制问题)

方法名词


案例1(标题)

优化:

  • 边界上的点:开内闭外
  • 开区间:不包含()
  • 闭区间:包含[ ]

示例:

6[6,10]-->开内闭外 --> 5、11进⾏测试(7、9)去除。


使用场景:

常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语

典型代表:有边界范围的输入框类测试


提示:

边界值可以覆盖等价类的长度,但是无法覆盖类型。

所以设计用例时,必须两者结合。


三、正交表法(解决多条件依赖问题)

定义:

是一种以表格形式表达多条件逻辑判断的工具。

组成:

  • 条件桩:列出问题中的所有条件,列出条件的次序无关紧要。
  • 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束。
  • 条件项:列出条件对应的取值,所有可能情况下的真假值。
  • 动作项:列出条件项的、各种取值情况下应该采取的动作结果。


规则:

判定表中贯穿条件项和动作项的一列就是一条规则。

假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则。


步骤:
1、明确需求

2、画出判定表

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

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

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

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

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


案例1:


案例2:


应用场景

有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依 赖(制约)关系

判定表一般适用于条件组合数量较少的情况(比如4个条件以下)

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


四、流程图(解决业务测试点覆盖问题)

提示:流程图主要用来解决业务用例问题。


练习:


4.1 扩展:错误猜测法

场景:

时间紧,任务量大时使用。(没有时间写用例)


总结

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

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

相关文章

媒体发稿:澳门媒体发稿7个流程

推广平台澳门是一个重要的度假旅游娱乐终点,都是媒体领域热议的话题。对于澳门的媒体发稿营销推广要求,大家提供了一个简单易用的套餐系统软件,帮助大家在澳门媒体上发表推广文章。下面我们就根据7个阶段,详解构建这一套餐推广平台…

echarts tooltip提示组件框自定义浮窗内容

echarts tooltip提示组件框自定义浮窗内容 tooltip提示组件框 有三种浮窗展示方法 第一种:默认展示 第二种:字符串模板 第三种:回调函数 第二种 formatter(字符串模板) 模板变量有 {a}, {b},{c}&#xff0…

C++ 作业 24/3/14

1、成员函数版本实现算术运算符的重载&#xff1b;全局函数版本实现算术运算符的重载 #include <iostream>using namespace std;class Test {friend const Test operator-(const Test &L,const Test &R); private:int c;int n; public:Test(){}Test(int c,int n…

LeetCode 热题 100 | 回溯(二)

目录 1 39. 组合总和 2 22. 括号生成 3 79. 单词搜索 菜鸟做题&#xff0c;语言是 C&#xff0c;感冒快好版 关于对回溯算法的理解请参照我的上一篇博客&#xff1b; 在之后的博客中&#xff0c;我将只分析回溯算法中的 for 循环。 1 39. 组合总和 题眼&#xff1a;c…

VBA_MF系列技术资料1-400

MF系列VBA技术资料1-400 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…

Java复习02 IO流

Java复习02 IO流 首先&#xff0c;“IO”在计算机里面代表的是“输入/输出”&#xff08;Input / Output&#xff09;&#xff0c;简单来说&#xff0c;就是计算机与外部世界进行数据交流的过程。比如&#xff0c;你在键盘上敲字&#xff0c;数据就输入到计算机里了&#xff0…

FastAPI 是什么?深入解析

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建基于 Python 的 API。它是一个开源项目&#xff0c;基于 Starlette 和 Pydantic 库构建而成&#xff0c;提供了强大的功能和高效的性能。 FastAPI 官网地址&#xff1a;fastapi.tiango…

Vue3自定义指令!!!

通过自定义指令实现菜单显示和权限控制问题。 一、新建一个在src目录下创建包directives&#xff0c;在包中创建一个ts文件。 import { useStore } from "/store/pinia";function hasRoles(role: any) {const pinaRoles useStore().roles;if (typeof role "s…

【RPG Maker MV 仿新仙剑 战斗场景UI (四)】

RPG Maker MV 仿新仙剑 战斗场景UI 四 三级战斗指令菜单效果代码完成效果 下篇预告 三级战斗指令菜单 仙剑1中三级战斗的菜单内容如下&#xff1a;使用、投掷、装备这三项。 效果 在RMMV中原始菜单中是没有这三级菜单的&#xff0c;因此需要重新进行添加进去。 代码 这里贴…

分布式思想

1、单体架构设计存在的问题 传统项目采用单体架构设计,虽然可以在一定的程度上解决企业问题,但是如果功能模块众多,并且将来需要二次开发.由于模块都是部署到同一台tomcat服务器中,如果其中某个模块代码出现了问题,将直接影响整个tomcat服务器运行. 这样的设计耦合性太高.不便…

19.ADC模数转换器知识点+AD单通道AD多通道应用程序示例

0. 江协科技/江科大-STM32标准库开发-各章节详细笔记-查阅传送门_江协科技stm32笔记-CSDN博客文章浏览阅读2.9k次&#xff0c;点赞44次&#xff0c;收藏128次。江协科技/江科大-STM32标准库开发-各章节详细笔记-传送门至各个章节笔记。基本上课程讲的每句都详细记录&#xff0c…

群晖 Synology Photos DSM7 自定义文件夹管理照片

背景 众所周知&#xff0c;目前群晖DSM7中使用Synology Photos做照片管理时&#xff0c;个人照片只能默认索引 /home/Photos 文件夹&#xff0c;但是如果个人照片很多或者用户很多时&#xff0c;共享文件夹/homes 所在的存储空间就会不够用 当然&#xff0c;如果你的存…

李彦宏“程序员将不再存在”言论被周鸿祎驳斥,网友怒怼:先把百度程序员都开除了

在 3 月 9 日央视的《对话》开年说节目上&#xff0c;百度创始人、董事长兼 CEO 李彦宏表示&#xff0c;基本上以后不会存在“程序员”这种职业了&#xff0c;因为只要会说话&#xff0c;人人都会具备程序员的能力。 “未来的编程语言只会剩下两种&#xff0c;一种叫做英文&am…

【刷题训练】LeetCode125. 验证回文串

验证回文串 题目要求 示例 1&#xff1a; 输入: s “A man, a plan, a canal: Panama” 输出&#xff1a;true 解释&#xff1a;“amanaplanacanalpanama” 是回文串。 示例 2&#xff1a; 输入&#xff1a;s “race a car” 输出&#xff1a;false 解释&#xff1a;“rac…

Java 设计模式系列:行为型-观察者模式

简介 观察者模式是一种行为型设计模式&#xff0c;又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&#xff0c;它定义了对象之间的一对多依赖关系&#xff0c;当一个对象的状态发生改变时&#xff0c;所有依赖于它的对象都会得到通知并被自动更新。 观察者…

全面解析 Axios 请求库的基本使用方法

Axios 是一个流行的基于 Promise 的 HTTP 请求库&#xff0c;用于在浏览器和 Node.js 中进行 HTTP 请求。它提供了简单易用的 API&#xff0c;可以发送各种类型的请求&#xff08;如 GET、POST、PUT、DELETE等&#xff09;&#xff0c;并处理响应数据&#xff0c;Axios 在前端工…

朋友,代码库的“健身方案”要不要了解一下?

你有没有想过&#xff0c;你的代码库可能正面临“健康危机”—— 代码臃肿、低效交付、BUG隐藏、潜藏的安全风险…… “健身达人”上线 如果你的开发、安全和运维团队像是三位“健身达人”&#xff0c;那么极狐GitLab的DevSecOps线上成熟度评估&#xff0c;就是他们的“健身教…

09、用数据变量等控制 vue 项目标签中 CSS 样式的五种方法

通过 vue 中的变量值控制标签/组件样式 Ⅰ、通过 Vue3 的数据变量来控制 h1 标签样式&#xff1a;1、代码为&#xff1a;2、截图为&#xff1a; Ⅱ、通过 vue3 的 computed 来控制 h1 标签样式&#xff1a;1、代码为&#xff1a;2、截图为&#xff1a; Ⅲ、通过 vue3 的 comput…

MySQL gh-ost DDL 变更工具

文章目录 1. MDL 锁介绍2. 变更工具3. gh-ost 原理解析4. 安装部署5. 操作演示5.1. 重点参数介绍5.2. 执行变更5.3. 动态控制 6. 风险提示 1. MDL 锁介绍 MySQL 的锁可以分为四类&#xff1a;MDL 锁、表锁、行锁、GAP 锁&#xff0c;其中除了 MDL 锁是在 Server 层加的之外&am…

SpringBoot vue轮胎批发系统

SpringBoot vue轮胎批发系统 系统功能 首页 图片轮播 轮胎商品 评论 公告信息 搜索 购物车 立即购买 客服中心 登录注册 个人中心 我的订单 我的地址 我的收藏 后台管理 登录 个人中心 用户管理 轮胎分类管理 轮胎商品管理 公告信息管理 客服中心管理 轮播图管理 订单管理 …