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

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

文章目录

  • 前言
  • ⼀、等价类法(解决穷举问题)
  • 二、边界值法(解决边界限制问题)
  • 三、正交表法(解决多条件依赖问题)
  • 四、流程图(解决业务测试点覆盖问题)
  •       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个阶段,详解构建这一套餐推广平台…

Python如何处理拥塞控制

拥塞控制是计算机网络中用于防止网络拥塞(即过多的数据导致网络性能下降)的一系列技术和算法。在Python中,处理拥塞控制通常不直接涉及到代码层面的实现,因为拥塞控制主要是在网络协议栈(如TCP/IP)和操作系…

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…

python爬虫(11)之BeautifulSoup模块

1、模块介绍 所谓BeautifulSoup模块是通过html源代码进行筛选类似于正则表达式那种类型 2、代码 import os import requests from bs4 import BeautifulSoup from PIL import Image from io import BytesIOheaders {Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit…

Java复习02 IO流

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

深入理解Spring的ApplicationContext:案例详解与应用

深入理解Spring的ApplicationContext&#xff1a;案例详解与应用 在Spring框架的丰富生态中&#xff0c;ApplicationContext扮演着至关重要的角色。作为BeanFactory的扩展&#xff0c;ApplicationContext不仅继承了其所有功能&#xff0c;还引入了更多高级特性&#xff0c;使得…

一文搞懂dataclass和field

目录 1. 背景2. dataclass函数签名详解2.1 repr示例2.2 eq与order示例2.3 frozen示例2.4 __post_init__2.5 继承 3. Field3.1 default与default_factory3.2 init与repr3.3 compare3.4 metadata Ref 1. 背景 考虑这样一个场景。假如我们要定义一个 Person 类&#xff0c;并希望…

FastAPI 是什么?深入解析

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

《软件工程》复试问答题总结

软件系统的三个测试阶段&#xff1a; 第一阶段&#xff1a;发现和解决BUG 集中在发现bug&#xff0c;考研测试设计能力&#xff0c;发现bug之后如何清晰表述定级&#xff0c;以及验证&#xff0c;之后举一反三尽早发现更多类似bug 第二阶段&#xff1a;质量的管理 多做质量数据…

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…

Python转C++的童鞋看这里

一、前言 Python学完了&#xff0c;很多人都去学了C。在学习C之前&#xff0c;建议大家先打好基础&#xff0c;对C和Python的区别先了解了解&#xff0c;会对后续的C学习提供很大的帮助。 二、特点区分 1. Python Python是一种简单而高效的语言&#xff0c;它已经帮你封装好了…

Python-OpenCV-边缘检测

摘要&#xff1a; 本文详细介绍了Python-OpenCV的边缘检测技术&#xff0c;包括基础知识回顾、功能实现、技巧与实践、常见问题与解答等&#xff0c;为读者提供了全面深入的教程。 阅读时长&#xff1a;约60分钟 关键词&#xff1a;Python, OpenCV, 边缘检测, Canny, Sobel …

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

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

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

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