【测试架构师修炼之道】读书笔记
六大质量属性

效率=性能
测试类型:六种-XX属性转化为XX测试

产品测试车轮图

一个软件测试者要从哪些方面(测试类型)用哪些方法(测试方法)去测试产品(质量属性)的关系图
全面性与深度
稳定性测试:多并复异
性能测试:
- 系统能够正确处理新业务的最大能力,我们也称为"新建"。
- 系统能够同时正确处理的最大业务能力,我们也称为"并发"。
测试步骤

测试覆盖
一般来说,在单元测试阶段,我们会主要使用语句覆盖或分支覆盖的方式来设计测试用例;
在集成测试和系统测试阶段,我们会主要使用最小线性无关覆盖;而对其中一些特别重要的部分,使用全覆盖;对一些不那么重要的部分,使使用语句覆盖或分支覆盖。
仅保证流程图中每个路径片段能够被至少执行一次,在这种覆盖策略下得到的最少路径组合,就是最小线性无关覆盖。
归根到底,最小线性无关覆盖也只是一种策略覆盖,从覆盖的角度来说也是有遗漏的。为了让测试更有效,我们可以根据经验再补充一些测试用例,例如:
- 是否要增加一些需要覆盖的路径?
- 是否要增加一些测试数据?
- 有哪些地方是容易出问题的,是否还需要补充一些测试用例?
控制 用例粒度:测试点的拆分与组合
1.测试点:让测试点不要过粗或过细

2.策略覆盖
3.测试方式
错误推断法:通过缺陷分析
探索式测试:测试思维
基本思想CPIE模型:收集(C)、划分优先级(P)、分析调研(I)、实验(E)
避免集中在缺陷上导致对需求验证的偏离
将测试点作为测试用例进行测试(仅在探索式测试可用)
事实上,测试需要打交道的角色非常多,开发人员、测试人员、领导人员、市场人员、服务人员等。
"对人"意在强调我们在沟通时需要理解你的沟通对象,要学会换位思考,即使是同一件事情,在表达上也需要以对方能够理解的方式来表达。
🌰
需求是否可以测试?需要怎么测试?怎样才算验证通过了?
设计是否可以测试?需要怎么测试?怎样才算验证通过了?
如果你以这样的角度去阅读设计文档,除了关注它在功能上的设计实现,你还会关注它在非功能方面,如性能、可靠性、安全性、易用性、可移植性、可测试性等方面的设计考虑。
测试用例标题
推荐使用的句式:在怎样的条件下,谁,做了,怎样的事情,得到了怎样的结果
状语,主语,谓语,宾语,补语(可选)
·以条件作为用例标题;(更加适用)
·~~以参数作为用例标题。(~~多个参数情况,以参数组合为标题)
测试策略
四步测试策略制定法

1.明确质量目标
- 我们的测试目标就是让产品在发布的时候能够满足事先约定的质量目标
- 围绕产品质量目标进行刚刚好的测试
- 将目标-行为-评估形成闭环
2.进行风险分析
提前识别项目中可能存在哪些会阻塞测试的风险,然后基于风险来调整测试策略
基于风险来加强和降低测试投入
- 对高风险的部分加强测试投入。
- 对低风险的部分降低测试投入。
3.适配"产品研发流程"

4.进行"测试分层"

产品质量评估模型特质
综上,一个优秀的产品质量评估模型,应该具备如下特质:
- 多维度:能够覆盖质量评估的各个纬度,能够帮助评估者全面分析和考虑。
- 定量+定性:指标和分析相结合,能够有效避免在只有指标的情况下,被"绕"过去,变得形同虚设。
- 过程+结果:不仅评估测试的结果,还对过程进行分析和评估。

-
测试覆盖度评估:对测试范围及测试的深度与广度进行分析和评估。/需求和实现
-
测试过程评估:对测试过程和测试的投入情况来进行分析与评估。/测试用例
-
缺陷分析:对测试结果进行分析和评估。
缺陷密度是指每千行代码发现的缺陷数。
(引入阶段)对其他几类缺陷年龄,我们的期望是:
- 没有继承或历史遗留引入的缺陷。
- 没有新需求或变更引入的缺陷。
- 没有缺陷修改引入的缺陷。
按照上述测试策略,我们希望的缺陷触发因素图包含的测试方法和对应的测试内容大致为:
- 功能测试-单运行正常输入:进行基本功能测试,覆盖业务流程的基本路径测试时发现的问题。
- 功能测试-单运行边界值测试:进行配置测试时发现的问题。
- 功能测试-多运行相互作用:进行基本功能测试,覆盖业务流程的基本路径和配置测试时发现的问题
- 性能测试:进行满规格测试时发现的问题。
风险识别
识别方法

风险识别清单




风险评估:确定风险的优先级

风险评估
需求:高
设计:缺陷
流程类(涉及规范、历史类):高
风险应对
应对种类
在风险管理中,风险应对主要分为如下4种:
- 回避风险:指主动避开损失发生的可能性。
- 转移风险:指通过某种安排,将自己面临的风险全部或部分转移给其他一方。
- 减轻风险:指采取预防措施,以降低损失发生的可能性和影响程度。
- 接受风险:指自己理性或非理性地主动承担风险。
"风险应对"举例:新需求在开发过程中不断被增加
"回避风险"的做法:置之不理。
"转移风险"的做法:将新需求外包。
"减轻风险"的做法:寻求额外资源或裁剪其他优先级低的需求。
"接受风险"的做法:将新需求加入项目范围,通过加班来完成我新需求。



老功能分析

差异性分析沟通提纲

缺陷分析
进行遗留缺陷分析需要考虑的主要内容包括:
- 缺陷对用户的影响程度。
- 缺陷发生的概率。
- 缺陷风险评估和规避措施。
测试总体框架

以测试对象-测试方法-测试结果这样的方式来描述测试目标的好处是:强调了这个版本测试的要求,比数字指标更易于被测试团队理解和执行。
缺陷的改动越大,越需要尽早解决。
如果缺陷涉及需求、方案、设计,需要尽早解决。
·优先解决缺陷严重程度为"致命"和"严重"的缺陷。
缺陷回归
- 考虑回归功能范围
- 功能回归
- 自动化回归
- 先对需要多次执行的测试用例进行自动化。
- 优先自动化简单的、可靠的功能。
关于自动化率
自动化率需要与自动化工具、自动化技术和自动化平台以及研发能力匹配,不要盲目追求自动化率。

版本测试策略需要关注的所有内容
- 测试范围和计划相比的偏差。
- 本版本的测试目标。
- 需要重点关注的内容。
- 测试用例的选择。
- 测试执行顺序。
- 试探性的测试策略。
- 接收测试策略。
- 回归测试策略。
- 探索式测试策略。
- 自动化测试策略。
相关文章:
【测试架构师修炼之道】读书笔记
六大质量属性 效率性能 测试类型:六种-XX属性转化为XX测试 产品测试车轮图 一个软件测试者要从哪些方面(测试类型)用哪些方法(测试方法)去测试产品(质量属性)的关系图 全面性与深度 稳定性测试:多并复异 性能测试: 系统能够正确处理新业…...
C++ Functor仿函数
Functor 对象模拟函数 把类对象,像函数名一样使用。 仿函数(functor),就是使一个类的使用看上去像一个函数。其实现就是类中实现 一个 operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 operator() 语法格式 clas…...
【EI会议征稿通知】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)
重要信息 会议官网:www.icbase.org(查看详情) 中文主页:【往届会后3个月检索】第五届大数据、人工智能与软件工程国际研讨会(ICBASE 2024)_艾思科蓝_学术一站式服务平台 会议时间:2024年9月2…...
微信小程序多端框架实现app内自动升级
多端框架生成的app,如果实现app内自动升级? 一、Android 实现app自动升级,华为应用市场 1、获取 应用市场地址 下载地址 2、在微信开放平台进行配置 应用下载地址:应用市场点击分享,里面有一个复制连接功能 应用市…...
C# Log4Net应用
1 需求分析 日志记录是程序开发中必不可少的环节,对于bug调试和后期项目维护都十分重要.其中Log4net是C#环境下广泛使用的日志记录库,功能十分强大.本教程提供的日志记录需求如下 1,日志文件统一保存到项目启动目录下的logs文件夹 2,以天为单位进行日志…...
pytest8.x版本 中文使用文档-------32.示例:使用自定义目录收集器
默认情况下,pytest 使用pytest.Package来收集包含 __init__.py 文件的目录,使用 pytest.Dir来收集其他目录。如果你想要自定义目录的收集方式,你可以编写自己的pytest.Directory 收集器,并使用 pytest_collect_directory钩子来连接…...
c语言第七天笔记
作业题: 设计TVM(地铁自动售票机)机软件。 输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。 输入钱数,计算找零(找零时优先找回面额大的钞票)࿰…...
软件测试经理工作日常随记【8】-UI自动化_加密接口的传输
软件测试经理工作日常随记【8】-UI自动化_加密接口的传输 工具类 #utils_api.py class RequestUtils:classmethoddef send_request_splicing(cls, dicts, url): # 对应请求的入参及请求的函数Logger.logger_in().info(-----------------{}接口开始执行-----------------.for…...
基于FPGA的出租车计费系统设计---第一版--郝旭帅电子设计团队
欢迎各位朋友关注“郝旭帅电子设计团队”,本篇为各位朋友介绍基于FPGA的出租车计费系统设计—第一版 功能说明: 收费标准(里程):起步价5元,包括三公里;三公里之后,每公里2元&#x…...
商汤联合建工社共同打造“住建领域法规标准知识大模型”
近日,商汤科技与中国建筑出版传媒有限公司(下称“建工社”)共同发布“住建领域法规标准知识大模型”,共同探索新型知识服务模式。大模型聚焦建筑行业,以商汤“日日新SenseNova 5.5”大模型体系为基础,结合海…...
基于STM32的智能交通监控系统教程
目录 引言环境准备智能交通监控系统基础代码实现:实现智能交通监控系统 车辆检测模块交通流量分析模块通信与网络系统实现用户界面与数据可视化应用场景:交通管理与优化常见问题与解决方案收尾与总结 引言 随着城市化进程的加快,交通拥堵问…...
Git和TortoiseGit的安装与使用
文章目录 前言一、Git安装步骤查看版本信息 二、TortoiseGit安装中文语言包TortoiseGit 配置不同语言 Git基本原理介绍及常用指令 GitLab添加TortoiseGIT生成SSH Key 前言 Git 提供了一种有效的方式来管理项目的版本,协作开发,以及跟踪和应用文件的变化…...
改进YOLOv5:加入非对称卷积块ACNet,加强CNN 的内核骨架,包含VOC对比实验
🔥🔥🔥 提升多尺度、不规则目标检测,创新提升 🔥🔥🔥 🔥🔥🔥 捕捉图像特征和处理复杂图像特征 🔥🔥🔥 👉👉👉: 本专栏包含大量的新设计的创新想法,包含详细的代码和说明,具备有效的创新组合,可以有效应用到改进创新当中 👉👉👉: �…...
论文解读(12)-Transfer Learning
这个也是看论文的时候看到的,但是对这方面不是理解,需要对这方面知识点进行一个补充。 参考: 迁移学习概述(Transfer Learning)-CSDN博客 1. 什么是Transfer Learning? Transfer Learning就是迁移学习&…...
力扣高频SQL 50题(基础版)第三十八题
文章目录 力扣高频SQL 50题(基础版)第三十八题1484.按日期分组销售产品题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题(基础版)第三十八题 1484.按日期分组销售产品 题目说明 表 Activities: ---…...
大模型下的视频理解video understanding
数据集 Learning Video Context as Interleaved Multimodal Sequences Motivation: 针对Narrative videos, like movie clips, TV series, etc.:因为比较复杂 most top-performing video perception models 都是研究那种原子动作or人or物 understandin…...
【网络安全】CR/LF注入+Race Condition绕过MFA
未经许可,不得转载。 文章目录 漏洞1:CR/LF注入前言正文漏洞2:Race Condition绕过MFA前言正文漏洞1:CR/LF注入 前言 ExaHub(此处为虚拟名称)是一个专为 Exa 编程语言的爱好者和专业人士量身定制的平台。Exa 语言以其出色的速度和性能而闻名,广泛应用于科学计算、机器学…...
深度学习入门——卷积神经网络
本章的主题是卷积神经网络(Convolutional Neural Network,CNN)。CNN被用于图像识别、语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以CNN为基础。本章将详细介绍CNN的结构,并用Python实…...
快团团供货大大团长帮卖团长如何线上结算和支付货款?
一、如何支付结算单? 团长在快团团小程序【我的供货商】—【结算单】—【待支付】中,找到需要支付的结算单,点击【去支付】即可。 当有多笔结算单待支付时,团长可筛选供货商和日期找到需要支付的结算单,点击【去批量…...
vite vue3 Webstorm multiple export width the same name “default“
系统格式不一样,导致代码文件格式冲突导致的,解决方法找到对应的文件,将文件类型切换成LF。...
Windows下OpenClaw实战:30分钟接入Qwen3.5-4B-Claude模型
Windows下OpenClaw实战:30分钟接入Qwen3.5-4B-Claude模型 1. 为什么选择WindowsOpenClaw组合 去年我在尝试自动化办公流程时,发现很多AI工具对Windows支持并不友好。直到遇到OpenClaw,这个开源的智能体框架让我眼前一亮——它不仅能像人类一…...
Qwen3-VL-8B数据库课程设计:构建一个多模态商品智能检索系统
Qwen3-VL-8B数据库课程设计:构建一个多模态商品智能检索系统 最近有个学弟跑来问我,说数据库课程设计不知道做什么好,想做个有技术含量又能拿高分的项目。我给他提了个建议,用现在很火的多模态大模型,结合传统的数据库…...
霜儿-汉服-造相Z-Turbo实战体验:输入一句话,秒获专属汉服少女AI写真
霜儿-汉服-造相Z-Turbo实战体验:输入一句话,秒获专属汉服少女AI写真 1. 惊艳效果展示:从文字到古风美图的魔法 想象一下,你只需要输入"霜儿,古风汉服少女,月白霜花刺绣汉服,江南庭院&quo…...
保姆级教程:用seqtk、bwa和bedtools从零绘制GC-depth图,诊断测序污染
从零构建GC-depth分析全流程:手把手教你诊断测序数据污染 刚拿到测序数据的生物信息学新手,常常会面临一个灵魂拷问:我的数据干净吗?GC-depth分析就像给测序数据做"体检",通过一张图就能快速发现细菌污染、样…...
StarWind V2V Image Converter实战:轻松将IMG镜像转换为VMware VMDK格式
1. 为什么需要IMG转VMDK? 虚拟机镜像格式转换是IT运维中的常见需求。我遇到过不少这样的情况:手头有一个现成的IMG格式镜像文件,但当前虚拟化环境用的是VMware。这时候就需要把IMG转换成VMware原生支持的VMDK格式。 IMG是一种通用的磁盘镜像格…...
RWKV7-1.5B-g1a开源大模型落地:无需高端A100,RTX4090即可跑满多语言生成能力
RWKV7-1.5B-g1a开源大模型落地:无需高端A100,RTX4090即可跑满多语言生成能力 1. 模型简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的开源多语言文本生成模型,专为实际应用场景优化。这个1.5B参数的模型在保持出色生成能力的同时࿰…...
OpenClaw安全配置要点:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF本地运行权限管理
OpenClaw安全配置要点:Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF本地运行权限管理 1. 为什么需要特别关注OpenClaw的安全配置? 第一次在本地部署OpenClaw时,我犯了一个新手常见的错误——直接使用默认配置启动服务。结果第二天…...
QRazyBox:5分钟解决二维码修复难题的专业工具
QRazyBox:5分钟解决二维码修复难题的专业工具 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 二维码已经成为现代生活中无处不在的数字桥梁,但你是否遇到过这样的情况&…...
提升开发效率:用快马一键生成快速排序多版本性能对比工具
今天在优化一个数据处理模块时,遇到了需要选择合适排序算法的问题。不同数据特征下,快速排序的各种变体表现差异很大,手动测试效率实在太低。于是我用InsCode(快马)平台快速搭建了一个性能对比工具,整个过程比想象中简单很多。 需…...
Pygame与MoviePy结合实战:打造动态视频游戏界面
1. 为什么需要Pygame与MoviePy结合? 很多游戏开发者在使用Pygame时都会遇到一个头疼的问题:视频播放功能。Pygame 2.0.0版本之后,官方移除了对视频模块的支持,这让很多想要在游戏中加入开场动画、过场CG或者动态背景的开发者感到束…...
