黑马 软件测试从0到1 常用分类 模型 流程 用例

课程内容:
1、软件测试基础
2、测试设计
3、缺陷管理
4、Web常用标签
5、项目实战
以终为始,由交付实战目标为终,推出所学知识;从认识软件及软件测试,到如何设计测试、缺陷标准及缺陷管理,最终以项目实战贯穿所学知识,让知识与应用相结合。
Day1阶段目标
- 能独立针对web项目实施功能测试
一、测试介绍
- 什么是软件测试?
使用技术手段验证软件是否满足需求 - 测试主流技能
1、功能测试
2、自动化测试
3、接口测试
4、性能测试主流方向建议:1、功能测试+接口测试 2、自动化测试+接口3、功能+性能 二、测试常用分类
- 分类
- 阶段划分(阶段:软件产出过程顺序)
- 代码可见度
2.1 阶段划分
- 单元测试
- 说明:针对程序源代码进行测试(单元:最小独立功能代码段)
- 提示:
- 1、国内单元测试一般开发自测
- 2、单元测试可以解决-快速定位缺陷
- 3、提高测试执行效率
- 集成测试
- 说明:针对单元与单元之间的接口进行测试
- 提示:又称接口测试。
- 系统测试
- 说明:针对系统整体功能+兼容+文档(说明、安装文档)
- 验收测试
- 内测:公司内部人员使用,发觉缺陷并修复。
- 公测:让用户帮忙测试
- 提示:验收测试,一般要根据项目类型决定是否使用。
2.2 代码可见度划分
代码可见度:代码可见的程度上划分

黑盒测试:主要针对功能(阶段划分->系统测试)
灰盒测试:针对接口测试(阶段划分->集成测试)
白盒测试:针对程序源代码进行测试(阶段划分->单元测试) 2.3 总结
系统测试和黑盒测试重点核心是功能测试
集成测试和灰盒测试又称接口测试
单元测试和白盒测试是对代码进行测试
自动化测试归属功能测试
性能测试、安全测试归属专项测试s 三、模型
- 角度
1、质量模型
2、测试模型 3.1 质量模型
说明:质量模型能告诉我们,测试时应该考虑的方面

重点:功能、性能、兼容、易用性、安全
结论:无论测试硬件或软件,都应该从以上几点来进行分类验证 四、测试流程

- 需求分析(评审)
前提:阅读1遍需求文档,记录不明确之处。
参与人员:前端、后端、测试、产品
目的:1、确保各部门需求理解一致2、各角色对需求进行查漏补缺3、了解软件有些功能
提示:需求分析阶段->软件还未实现(刚立项) - 测试计划
说明:指导测试执行的文档(重要)
测什么(目标、范围)
谁来测(人员进度及安排)
怎么测(测试工具、测试策略) - 用例设计
说明:保证能准确验证软件测试点执行的文档。
1、分析需求
2、提取测试点
3、设计用例覆盖测试点 - 用例执行
说明:实施测试 - 缺陷管理
提交->验证->关闭 - 测试报告
1、bug分析及统计
2、测试中遇到的问题
3、测试总结(本次测试中的优点和不足) 五、测试用例
- 用例:用户使用的案例
- 生活中的用例:

- 用例的作用
1、防止漏测
2、衡量软件是否通过的标准 - 用例模板


- 八大要素编写规范

- 练习案例
微信发朋友圈1、成功(1张图片) 2、成功(1段文字) 3、失败(内容为空) 
- 练习评审
黄鑫

秀!🌹 
六、用例设计方法
- 目标
1、能对穷举场景设计测试点
2、能对限定边界规则设计测试点
3、能对多条件依赖关系进行设计测试点
4、能对于项目业务进行设计测试点 6.1 能对穷举场景设计测试点
穷举:无穷无尽
- 方法:等价类划分法
- 介绍:

- 案例1(qq程序)
要求:6~10位自然数 

- 案例2(电话)
要求:
1. 区号:空或者是三位数字
2. 前缀码:非“0”且非“1”开头的三位数字
3. 后缀码:四位数字 

七、作业

Day2:

Day2今天目标
能对穷举场景设计测试点
能对限定边界规则设计测试点
能对多条件依赖关系进行设计测试点
能对于项目业务进行设计测试点 一、解决穷举场景
重点:使用等价类划分法
1.1 等价类划分法

重点:有效等价和单个无效等价各取1个即可。
步骤:1、明确需求2、确定有效和无效等价3、根据有效和无效造数据编写用例 1.2 案例(qq合法验证)
需求:验证6~10自然数的qq合法
自然数: 自然数由0开始,一个接一个,组成一个无穷的集体


1.3 案例(城市电话验证)



重点:1、正向用例:一条尽可能覆盖多条2、逆向用例:每一条数据,都是一条单独用例。 1.4 总结(应用场景)
针对:需要有大量数据测试输入,但是没法穷举测试的地方。 输入框下拉列表单选复选框
典型代表:页面的输入框类测试。 **友情提示:**完整的用例应该是等价类和边界值一块写。
二、解决边界限制问题
说明:使用边界值解决边界位数限制问题。2.1 边界值说明

提示:1、有关范围限制,最多7条用例(暂时未优化)2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类) 2.2 步骤
1、明确需求
2、确定有效和无效等价
3、确定边界范围
4、提取数据编写用例 2.3 案例1


2.4 案例2


2.5 优化(7点优化5点)
重点:开内闭外(开区间选包含的点,闭区选不包含的点)
开区间:不包含边界上的点(没有等号)。如:a<10
闭区间:包含边界上的点(有等号)。 如:a<=10
优化策略:

2.6 总结
强调:单个输入框,常用的方式 边界+等价类
面试题:最常用的用例设计方法有哪些?--等价类、边界值
在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
典型代表:有边界范围的输入框类测试 三、解决多条件有依赖关系测试
重点:使用判定表
3.1 介绍

3.2 步骤
1、明确需求
2、画出判定表1)、列出条件桩和动作桩 2)、填写条件项,对条件进行全组合 3)、根据条件项的组合确定动作项 4)、简化、合并相似规则(有相同的动作)
3、根据规则编写测试用例 3.3 案例(订单)
- 需求

- 判定表

- 用例

3.4 练习(文件修改)
- 需求

- 判定表

- 用例

3.5 判定表总结

提示:1、多条件之间有依赖关系,使用判定表来进行测试覆盖。2、判定表一般适合4个以内条件依赖关系3、如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决。 四、业务测试覆盖
重点:
1、覆盖业务测试,需要使用流程图法
2、先测试业务,在测试单功能、单模块、单页面
4.1 流程图
提示:业务用例是根据流程图来梳理的,需要先了解流程图

作用:梳理业务用例 练习流程图工具:
1、线上工具:https://processon.com/diagraming/605880af07912927bd71c388
2、离线工具:visio
3、其他工具:Excel 4.2 案例(ATM)
- 流程图


- 用例

五、错误推荐法
应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间,在这段时间中可是使用错误推荐法复测主要业务或测试未覆盖的功能。

六、作业


非常感谢您阅读到这里,创作不易!如果这篇文章对您有帮助,希望能留下您的点赞👍 关注💖 收藏 💕评论💬感谢支持!!!
听说 三连能够给人 带来好运!更有可能年入百w,进入大厂,上岸

相关文章:
黑马 软件测试从0到1 常用分类 模型 流程 用例
课程内容: 1、软件测试基础 2、测试设计 3、缺陷管理 4、Web常用标签 5、项目实战 以终为始,由交付实战目标为终,推出所学知识;从认识软件及软件测试,到如何设计测试、缺陷标准及缺陷管理,最终以项目实战贯…...
面试中的商业思维:如何展示你对业务的理解
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
Docker切换文件系统为VFS
一、介绍 Docker支持AUFS、Btrfs、Device Mapper、OverlayFS、VFS、ZFS六种不同的存储驱动。 1. AUFS AUFS是一种常见的存储驱动程序,它也使用了Linux内核的AUFS文件系统。它的优点是支持所有的Linux发行版,可以在不同的容器之间共享文件系统…...
Spring Security存在认证绕过漏洞 CVE-2021-22096
文章目录 0.前言1.参考文档2.基础介绍漏洞影响范围:官方说明:修复版本:漏洞利用步骤:修复方式: 3.解决方案 0.前言 背景:项目被扫到Spring Boot 的漏洞,严格的说应该是Spring Security 组件的漏…...
前端list列表自定义图标并设置大小
前端list列表自定义图标并设置大小 一、前端list列表基础知识回顾 前端公有两种列表,一种是有序列表(ol),一种是无序列表(ul),它们的子元素都是(li)。 1.1 有序列表&a…...
Multisim14.0仿真(五)三角波发生器
一、仿真原理图: 二、仿真效果:...
使用安全复制命令scp在Windows系统和Linux系统之间相互传输文件
现在已经有很多远程控制服务器的第三方软件平台,比如FinalShell,MobaXterm等,半可视化界面,使用起来非常方便和友好,两个系统之间传输文件直接拖就行,当然也可以使用命令方式在两个系统之间相互传递。 目录…...
SOC总线学习记录之ICB(Internal Chip Bus)
蜂鸟E203总线: 采用自定义总线协议 ICB(Internal Chip Bus),该总线用于蜂鸟 E203 内核内部使用,同时也可作为 SoC 中的总线使用。 ICB 总线的初衷是为了能够尽可能地结合 AXI 总线和 AHB 总线的优点,兼具高…...
rabbitMQ手动应答与自动应答
手动应答模式(manual) 解释: 手动应答:既是当消费者消费了队列中消息时需要给队列一个应答,告诉队列这条消息我已经消费了,可以删除了; 若是不应答,即使消费了 队列没收到消费成功的提示 所有消息会一直在队列中; 注意 注意 注意:重要的事情说三遍,下面说的…...
java对象创建的过程
1、检查指令的参数是否能在常量池中定位到一个类的符号引用 2、检查此符号引用代表的类是否已被加载、解析和初始化过。如果没有,就先执行相应的类加载过程 3、类加载检查通过后,接下来虚拟机将为新生对象分配内存。 4、内存分配完成之后,…...
WireShark流量抓包详解
目录 Wireshark软件安装Wireshark 开始抓包示例Wireshakr抓包界面介绍WireShark 主要界面 wireshark过滤器表达式的规则 Wireshark软件安装 软件下载路径:wireshark官网。按照系统版本选择下载,下载完成后,按照软件提示一路Next安装。 Wire…...
【密码学代码分享】突破ECDSA算法封装--JS无三方包纯手写ECDSA
ECDSA(Elliptic Curve Digital Signature Algorithm)是一种基于椭圆曲线密码学的数字签名算法。它用于确保数字数据的完整性和身份验证,通常在信息安全和加密通信中使用。在日常使用中,通常会使用一些函数库来实现完成这个算法的功…...
stable diffusion实践操作-文生图
本文专门开一节写文生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 正文 1 liblib SD1.5底模 lora(baihuaniang_1.0) 详细信息: 底模:SD 1.5 Lora:baihuaniang_1.0 正向提示词: Best …...
Spring容器及实例化
一、前言 Spring 容器是 Spring 框架的核心部分,它负责管理和组织应用程序中的对象(Bean)。Spring 容器负责创建、配置和组装这些对象,并且可以在需要时将它们提供给应用程序的其他部分。 Spring 容器提供了两种主要类型的容器&…...
# Go学习-Day9
文章目录 Channel声明存入取出一个简单的死锁分析 个人博客:CSDN博客 Channel Channel本质是一个队列多goroutine访问时不需要加锁,Channel天然线程安全channel有类型,只能写入相同类型channel是引用类型channel必须初始化才能写入数据&…...
chatGPT如何在Java中使用
ChatGPT是一个基于GPT模型的聊天机器人平台,它提供了API接口,可以通过HTTP请求与之交互。您可以使用Java编写程序,通过HTTP请求与ChatGPT进行交互,实现聊天机器人的功能。 具体步骤如下: 1、注册ChatGPT账号并创建应…...
vue+axios——创建多个实例共用请求拦截器和响应拦截器(403错误信息不提示bug解决)——基础积累
创建多个实例共用请求拦截器和响应拦截器:使用的是函数的继承,也就是call()方法,这个方法第一个参数就是this,后面的参数可以是一个也可以是多个。最后一定要记得要return出去,否则接口是拿不到数据的。 import axios from axios…...
全球免费编程教育网站:Code.org
全球免费编程教育网站:Code.org 官网地址注册使用 你还在为小朋友的编程教育而发愁吗? 你还在为小朋友放假无聊而头疼吗? 他来了他来了,全球免费编程教育网站来了。 2013年成立的Code.org是一个非营利组织。 它致力于为年轻女子、…...
构造函数与成员变量初始化
C自学精简教程 目录(必读) 1 为什么需要定义构造函数? 构造函数主要用来给成员变量初始化。 让类对象有一个良好的开始状态。 2 构造函数初始化成员变量 下面我们来完善上一篇文章中的几个构造函数。 让这些构造函数完成给成员变量初始化的职责。 为此&#…...
使用Go env命令设置Go的环境
文章目录 前言Linux的设置Windlows设置Go version > 1.13 当你的GO的版本大于1.13的时候 Set environment variable allow bypassing the proxy for selected modules 前言 在进行Go开发的时候,设置Go的环境变量信息是必须的。下面介绍windows和Linux࿰…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
