当前位置: 首页 > 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 __方法…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建

华为云FlexusDeepSeek征文&#xff5c;DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色&#xff0c;华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型&#xff0c;能助力我们轻松驾驭 DeepSeek-V3/R1&#xff0c;本文中将分享如何…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

ui框架-文件列表展示

ui框架-文件列表展示 介绍 UI框架的文件列表展示组件&#xff0c;可以展示文件夹&#xff0c;支持列表展示和图标展示模式。组件提供了丰富的功能和可配置选项&#xff0c;适用于文件管理、文件上传等场景。 功能特性 支持列表模式和网格模式的切换展示支持文件和文件夹的层…...

游戏开发中常见的战斗数值英文缩写对照表

游戏开发中常见的战斗数值英文缩写对照表 基础属性&#xff08;Basic Attributes&#xff09; 缩写英文全称中文释义常见使用场景HPHit Points / Health Points生命值角色生存状态MPMana Points / Magic Points魔法值技能释放资源SPStamina Points体力值动作消耗资源APAction…...

结构化文件管理实战:实现目录自动创建与归类

手动操作容易因疲劳或疏忽导致命名错误、路径混乱等问题&#xff0c;进而引发后续程序异常。使用工具进行标准化操作&#xff0c;能有效降低出错概率。 需要快速整理大量文件的技术用户而言&#xff0c;这款工具提供了一种轻便高效的解决方案。程序体积仅有 156KB&#xff0c;…...

【Ftrace 专栏】Ftrace 参考博文

ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...