当前位置: 首页 > news >正文

巧计口诀-软件测试的生命周期,黑盒测试设计方法

目录

1。口诀

2。黑盒设计方法适用场合

3。黑盒设计方法详解 

3.1。等价类法

3.2。 边界值法

3.3。判定表法

 3.4。因果表

3.5。状态迁移图

 3.6。场景法

 3.7。正交实验法

3.8。错误推断法


1。口诀

又到了找工作的日子,背诵这些基本知识和概念又开始了。我找到一个好办法背诵这些方法:

软件测试的生命周期是“分级设编执评” ,这样理解啊:“有个公司啊,要施行分级设制,就要估了,大家都很焦急”。呵呵。

软件测试的生命周期巧计方法
软件测试的生命周期谐音
需求
测试级(四声)
测试
测试
测试
测试

测试用例构成要素是“编码,标题,相继跳树不接“,这样理解啊:”编码,标题,相继跳到树下,接不住“

测试用例构成要素
测试编码编码
测试标题标题
测试
用例
预置
测试
测试
预期

黑盒测试设计方法是“等边盼赢,撞场整错”。这样理解啊:“有个小等边三角形名字叫‘等边’,她在和一个艺人打官司,时刻望打官司,这个官司是怎么回事啊?是因为她给艺人安排活动的时候,和别人撞场整错了。”也就是“等边盼赢,撞场整错”,哈哈。

黑盒测试设计方法巧计方法
设计方法谐音
价类法
界值法
定表法
果法
态迁移法
景法
交实验方法
误推测法

2。黑盒设计方法适用场合

序号黑盒设计方法适合场合
1等价类法功能有输入,输入无组合
2边界值法功能有输入,输入范围有边界
3判定表法

有多个输入与输出,输入与输入之间,输入与输出之间,有依赖关系

找到条件桩,动作桩,第二步,全组合

4因果法同“判定表法”,找到条件桩,动作桩,第二步,分析条件桩和动作桩的关系,画出因果图
5状态迁移法多个功能之间的逻辑测试,找状态点
6场景法多个功能之间的逻辑测试,找基本流和备选流
7正交实验法参数配置类功能,参数互相组合
8错误推测法最后采用错误推测法再追加测试用例

3。黑盒设计方法详解 

3.1。等价类法

有效等价类:符合相关的需求规则的这些等价类

无效等价类:不符合相关的需求规则的这些等价类

等价类划分法实施步骤:

1.画出一个等价类表,需要列出某个功能点的所有输入条件

2.为每个输入条件列出需求规格(规格)

3.根据每个需求规则找出有效和无效等价类

4.给每个等价类设置一个唯一编码

5.设计测试用例覆盖等价类中的测试点,设计一条用例尽可能的覆盖有效等价类。设计用例保证所有的有效等价类覆盖完。

6.设计用例的时候每个无效等价类使用一条用例来覆盖。

总数:14(无效等价类)+7(有效等价类)=21

具体如下 

序号覆盖的等价类
11,6,7,8,9,11,12,13,14
22,6,7,8,10,11,12,13,15
33,6,7,8,9,11,12,13,16
44,6,7,8,9,11,12,13,17
55,6,7,8,9,11,12,13,18
61,6,7,8,9,11,12,13,19
71,6,7,8,9,11,12,13,20
821,8,9,11,12,13,1421是反例
922,6,7,8,9,11,12,13,1422是反例
101,23,7,8,9,11,12,13,1423是反例
111,24,7,8,9,11,12,13,1424是反例
1225,8,9,11,12,13,1425是反例
131,26,9,11,12,13,1426是反例
141,8,27,12,13,1427是反例
151,8,11,28,13,1428是反例
161,8,11,12,29,1429是反例
171,8,11,12,30,1430是反例
181,8,11,12,13,3131是反例
191,8,11,12,13,3232是反例
201,8,11,12,13,3333是反例
211,8,11,12,13,3434是反例

3.2。 边界值法

1.明确需求

2.确定有效和无效等价类

   1)有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)

   2)无效等价类先划分与有效等价类相反的情况

3.找到题目条件中的边界值

4.编写测试用例

举例,标题要求长度>0,长度<=30

边界值,

上点0,30
离点1,29,31
内点15

3.3。判定表法

定义:

判定表也称决策表,是分析和表达多逻辑条件下执行不同操作的工具,它能够将负责的问题按照各种可能的情况全部枚举出来,简明并避免遗漏。因此,在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作,判定表适合于处理这类问题,

组成:

判定表是由条件桩,动作桩,条件项,动作项四部分组成,如下图:

  • 条件桩(Condition Stub):列出了问题的所有条件,通常认为列出的条件次序无关紧要
  • 动作桩(Action Stub):列出问题规定可能采取的操作,这些操作的排列顺序没有约束
  • 条件项:列出针对它左列条件的取值,在所有可能情况下的真假值
  • 动作项:列出在条件项的各种取值情况下应该采取的动作。

 3.4。因果表

因果法是判定表的优化

3.5。状态迁移图

抽取测试路径设计用例

1.找到所有的叶子节点

2.一条路径就是根节点到叶子节点所走的路线

3.一条路径对应一条测试用例

案例描述

 3.6。场景法

基本流,备选流

 3.7。正交实验法

 正交试验设计方法:是由数理统计学科中正交实验方法进化出的一种测试多条件多输入的用例设计方法,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理的安排实验(测试)的一种科学实验设计方法。
条件:因子   取值:水平

正交实验设计方法步骤:

步骤次数步骤内容
1分析需求获取因子及水平
2根据因子及水平数选择正交表
3替换因子水平,获取实验次数
4细化输出测试用例

因子:所有参与试验的影响试验结果的条件为银子

水平:影响试验因子的取值或输入成为水平

3.8。错误推断法

案例:登录测试
登录失败:列出可能导致出错的情况
1.用户名和密码
2.网络原因
3.账号被拉黑
4.服务器异常
5.单点登录
————————

错误推断法
错误推测法是利用“直觉”和“经验”猜测出出错的可能

类型,有针对性的列举出程序中所有可能的错误和容易发生错误的地方,它是骨灰级测试大佬喜欢使用的一种测试用例设计方法。
基本思想
基本思想是列举出可能犯的错误或错误易发生的清单,然后根据清单编写测试用例,这种方法很大程度上是凭经验进行的,即凭人们对过去所做测试结果的分析,对所揭示缺陷的规律性作直觉的推测来发现缺陷。
 采用错误推测法,最重要的是要思考和分析测试对象的各个方面,多参考以前发现的Bug的相关数据,总结的经验,个人多考虑异常的情况,反面的情况,特殊的输入,以一个攻击者的态度对待程序,才能够设计出比较完善的测试用例。

相关文章:

巧计口诀-软件测试的生命周期,黑盒测试设计方法

目录 1。口诀 2。黑盒设计方法适用场合 3。黑盒设计方法详解 3.1。等价类法 3.2。 边界值法 3.3。判定表法 3.4。因果表 3.5。状态迁移图 3.6。场景法 3.7。正交实验法 3.8。错误推断法 1。口诀 又到了找工作的日子&#xff0c;背诵这些基本知识和概念又开始了。我找…...

Android系统的Ashmem匿名共享内存系统分析(1)- Ashmem驱动

声明 其实对于Android系统的Ashmem匿名共享内存系统早就有分析的想法&#xff0c;记得2019年6、7月份Mr.Deng离职期间约定一起对其进行研究的&#xff0c;但因为我个人问题没能实施这个计划&#xff0c;留下些许遗憾…文中参考了很多书籍及博客内容&#xff0c;可能涉及的比较…...

Redis 事务详细介绍

事务 注意&#xff1a;Redis单条命令是保证原子性的&#xff1b;但是事务不保证原子性&#xff01; Redis事务没有隔离级别的概念&#xff0c;所有的命令在事务中&#xff0c;并没有直接被执行&#xff0c;只有发起执行命令时才执行 Redis事务本质&#xff1a;一组命令的集合&…...

2023-5-29第二十九天

consult咨询&#xff0c;查阅&#xff0c;商讨 specialize专门从事&#xff0c;专攻 inspect检查 pattern图案&#xff0c;方式 optimize使最优化 ensemble整体&#xff0c;全体 subscript下标 subscribe签名 sector行业&#xff0c;部门 precedence优先&#xff0c;优…...

【第三方库】PHP实现创建PDF文件和编辑PDF文件

目录 引入Setasign/fpdf、Setasign/fpdi 解决写入中文时乱码问题 1.下载并放置中文语言包&#xff08;他人封装&#xff09;&#xff1a;https://github.com/DCgithub21/cd_FPDF 2.编写并运行生成字体文件的程序文件&#xff08;addFont.php&#xff09; 中文字体举例&…...

线程的回收及内存演示

ps -elf|grep mthread 查看进程和线程 top -p 6513 查看内存 一、线程的回收 使用pthread_join 函数&#xff1a; #include <pthread.h> int pthread_join(pthread_t thread, void **retval); 注意&#xff1a;pthread_join 是阻塞函数&#xff0c;如果回收的线…...

高精度倾角传感器测量原理

高精度倾角传感器测量原理技术参数 1.性能参数 测量范围&#xff1a;0&#xff5e;30 测量精度&#xff1a;0.06 分 辨 率&#xff1a;0.0001 测量方向&#xff1a;X,Y 时间漂移&#xff1a;0.08/月 更新时间&#xff1a;30ms 上电启动时间&#xff1a;0.5s 2.电…...

Android 12 init流程分析

前言 刚开始接触需要了解的概念理解过程遇到了什么问题代码的位置和流程分析如何分析和调试遇到的问题 基本的概念 .rc 文件 这个文件在Android framework 中服务相关代码可以看到。类似surfaceflinger.rc 、mediaserver.rc等等。 在这些rc里面定义了某一个service&#xff0…...

【Python小技巧】Python操控Chrome浏览器实现网页打开、切换、关闭(送独家Chrome操作打包类源码、Chrome浏览器Cookie在哪里?)

文章目录 前言一、什么时候需要用Python控制浏览器&#xff1f;二、下载Chrome浏览器驱动文件1. 安装Chrome浏览器并查看版本2. 下载浏览器驱动文件3. 解压到python编译器目录&#xff08;python.exe所在目录&#xff09; 三、Python控制Chrome浏览器&#xff08;附源代码&…...

数据在内存中的存储

目录 一、数据类型的介绍 1.C语言基本内置类型 2.类型基本归类 1.整形 2.浮点型 3.构造类型 4.指针类型 二、整形在内存中的存储 三、浮点数在内次中的存储 1.存储形式 2.对M、E的特殊规定 &#xff08;1&#xff09;对M的特殊规定 &#xff08;2&#xff09;对E的…...

Rust in Action笔记 第三章 复合数据类型

通过#[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZI50wIh1-1685693144796)(null)]&#xff09;&#xff0c;不带感叹号的#[allow]仅为下一行代码提供属性&#xff0c;属性有多种分类&#xff0c;文中出现的allow属性称为诊断属性&#xff08;Diag…...

算法基础学习笔记——⑬高斯消元\组合计数\容斥原理

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨高斯消元 ✨组合计数 &#x1f353;通过预处理逆元的方式求组合数: &#x1f353;Lucas定理: &#x1f353;分解质因数法求组合数&#xff1a; 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需…...

渗透测试辅助工具箱

0x01 说明 渗透测试辅助工具箱 运行条件&#xff1a;jdk8 双击即可运行 反弹shell&#xff0c;命令生成器&#xff0c;自动编码&#xff0c;输入对应IP端口即可&#xff0c;实现一劳永逸&#xff0c;集成一些小工具&#xff0c;辅助渗透&#xff0c;提高效率 输入框说明 L…...

chatgpt赋能python:Python后退命令:如何让你的程序退回到之前的状态

Python后退命令&#xff1a;如何让你的程序退回到之前的状态 Python是一种高级编程语言&#xff0c;因其易读易懂而闻名于世。Python中有很多命令用于编写程序&#xff0c;其中一项重要的命令是后退命令。本文将介绍Python后退命令的使用方法&#xff0c;并为您提供详细的步骤…...

OJ练习第127题——统计范围内的元音字符串数

统计范围内的元音字符串数 力扣链接&#xff1a;2559. 统计范围内的元音字符串数 题目描述 给你一个下标从 0 开始的字符串数组 words 以及一个二维整数数组 queries 。 每个查询 queries[i] [li, ri] 会要求我们统计在 words 中下标在 li 到 ri 范围内&#xff08;包含 这…...

图片优化: CssSprites与Base64编码

文章目录 1 css sprites1.1 CSS Sprites是什么1.2 为什么需要css sprites1.3 优势1.4 使用原理1.5 DEMO 2 图片Base64编码 1 css sprites 1.1 CSS Sprites是什么 CSS Sprites是一种网页图片应用处理方式。 又被解释为&#xff1a; CSS精灵CSS图像拼合CSS贴图定位CSS图片精灵…...

JavaScript中的Map、WeakMap和Object的区别

Map Map是一种新的数据结构&#xff0c;它允许使用任何数据类型&#xff08;包括对象和基本数据类型&#xff09;作为键。 Map的一些特性包括&#xff1a; 保持键的插入顺序&#xff1a;当遍历Map时&#xff0c;键值对会按照插入顺序返回。键可以是任意类型&#xff1a;与Obj…...

华为OD机试之打印机队列(Java源码)

打印机队列 题目描述 有5台打印机打印文件&#xff0c;每台打印机有自己的待打印队列。 因为打印的文件内容有轻重缓急之分&#xff0c;所以队列中的文件有1~10不同的代先级&#xff0c;其中 数字越大优先级越高 打印机会从自己的待打印队列中选择优先级最高的文件来打印。 如…...

分享一个国内免费的ChatGPT网站,手机电脑通用,免费无限制,支持AI绘画

背景 ChatGPT作为一种基于人工智能技术的自然语言处理工具&#xff0c;近期的热度直接沸腾&#x1f30b;。 作为一个AI爱好者&#xff0c;翻遍了各大基于ChatGPT的网站&#xff0c;终于找到一个免费&#xff01;免登陆&#xff01;手机电脑通用&#xff01;国内可直接对话的C…...

【面向对象编程1】——类和对象——如桃花来

目录索引 面向过程和面向对象的区别&#xff1a;面向过程&#xff1a;面向对象&#xff1a;总结&#xff1a; 类和对象&#xff1a;定义类&#xff1a;语法&#xff1a; 创建对象&#xff1a;实例演示&#xff1a; 魔法方法&#xff1a;__init __方法&#xff1a;__ del __方法…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...