【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执
【测试开发】基础篇
文章目录
- 【测试开发】基础篇
- 1. 软件测试生命周期
- 1.1 软件生命周期
- 1.2 软件测试生命周期
- 2. 描述bug
- 3. 如何定义bug的级别
- 3.1 为什么要对bug进行级别划分
- 3.2 bug的一些常见级别
- 4. bug的生命周期
- 5. 产生争执这么怎么办(处理人际关系)
- 6. 如何开始第一次测试
- 7. 测试的执行和bug管理
- 8. 如何发现更多bug
【测试开发】基础篇
1. 软件测试生命周期
1.1 软件生命周期
- 需求分析
- 计划
- 设计
- 编码
- 测试
- 运行维护
- 停服
博文链接:【测试开发】概念篇 · 测试相关基础概念 · 常见开发模型 · 常见测试模型_s:103的博客-CSDN博客
1.2 软件测试生命周期
-
需求分析
- 需求是否完整,需求是否正确
-
测试计划
- 确定软件由谁测试,什么时候测试,什么时候结束测试,测试哪些模块
-
测试设计、测试开发
- 写测试用例(手工测试用例,自动化测试用例),编写测试工具
-
测试执行
- 执行测试用例
-
测试评估
- 测试人员产生一个测试报告
测试报告:
没有这个报告,项目是不能上线的,如果上线出了问题,一定是上线的那个人背锅!
2. 描述bug
博文链接:【测试开发】概念篇 · 测试相关基础概念 · 常见开发模型 · 常见测试模型_s:103的博客-CSDN博客
bug的描述是很重要的,如果你只是指出开发人员的代码的一个bug,让他现在就改,他不得骂死你,所以你应该描述清清楚楚这个bug
具体描述bug:
- 在哪个版本下发现问题
- 开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障
- 并且版本的表示也有利于统计和分析每个版本的质量
- 在哪个环境下发现问题
- 博客系统 => 127.0.0.1访问,但是别人访问不了,我们要部署到服务器上,这样别人就访问到了,这就是两个不同的环境
-
重现故障
- 要求测试人员描述好,bug的出现流程,否则开发可能会找不到bug,说你乱提bug
- 描述问题重现的最短、最清楚的步骤
例如以下bug描述:
- 在短信列表中,选择短信,进行删除,删除失败了!
- 在短信列表中,选择一条短信,进行查看,在查看页面,进行删除,删除失败 √
显然,后者的描述更加精准,因为列表页和详情页删除是不一样的地点!
我们要准确描述bug如何出现的!
-
预期行为的描述
- 要让开发人员指导怎么样才是正确的,尤其要以用户的角度来描述程序的行为是怎样的。如果是依据需求提出的故障,能写明需求的来源是最好的
- 要相信:测试人员是最懂需求的。
-
错误行为的描述
- 描述错误的现象。crash等可以上传log,UI问题可以有截图。
-
其他
- 某些公司会有一些其他的要求,例如故障的分类:功能故障,界面故障,兼容性故障等
- bug复现的前置条件、bug给谁…
- 有些有==优先级的分类==,严重影响测试需要开发人员优先修改的,可以设置优先级为高
-
不要把多个bug放到一起
- 在无法确认是同一段代码造成的故障时,不要将bug放在一起提交
3. 如何定义bug的级别
不同公司可能不一致~
3.1 为什么要对bug进行级别划分
现在有一个项目要在9点上线
此时还有三个bug,但是来不及了,三个bug不能都修复好,所以我们需要给bug进行级别划分,影响更严重的我们要优先处理~
3.2 bug的一些常见级别
-
Blocker(崩溃)
- 阻碍开发或测试工作的问题;造成系统崩溃、死机、死循环,导致数据库数据丢失,与数据库连接错误,主要功能丧失,基本模块缺失等问题
- 如:代码错误、死循环、数据库发生死锁、重要的一级菜单功能不能使用等(该问题在测试中较少出现,一旦出现应立即中止当前版本测试)。
-
Critical(严重)
- 系统主要功能部分丧失、数据库保存调用错误、用户数据丢失,一级功能菜单不能使用但是不影响其他功能的测试
- 功能设计与需求严重不符,模块无法启动或调用,程序重启、自动退出,关联程序间调用冲突,安全问题、稳定性等
- 如:软件中数据保存后数据库中显示错误,用户所要求的功能缺失,程序接口错误,数值计算统计错误等(该等级问题出现在不影响其他功能测试的情况下可以继续该版本测试)。
-
Major(一般/主要)
- 功能没有完全实现但是不影响使用,功能菜单存在缺陷但不会影响系统稳定性
- 如:操作时间长、查询时间长、格式错误、边界条件错误,删除没有确认框、数据库表中字段过多等(该问题实际测试中存在最多)
-
Minor(次要)
- 界面、性能缺陷,建议类问题,不影响操作功能的执行,可以优化性能的方案等
- 如:错别字、界面格式不规范,页面显示重叠、不该显示的要隐藏,描述不清楚,提示语丢失,文字排列不整齐,光标位置不正确,用户体验感受不好,可以优化性能的方案等(此类问题在测试初期较多,优先程度较低;在测试后期出现较少,应及时处理)
强调:
- 如果发现崩溃级别的bug,那么此时我们就需要停止测试,测试打回,测试打回特别恶劣!
- 写一个报告,打回给开发,开发就需要进行修复,修复完之后自己得仔细地测试一下,不然想着再次被打回吗
4. bug的生命周期
bug状态转换图:
- 缺陷状态变更流程每个项目团队的实际做法可能不大一样
- 并且需要结合实际的开发流程和协作流程来使用
5. 产生争执这么怎么办(处理人际关系)
背景:某一天萌新测试人员(QA-- 测试(QUALITY ASSURANC)发现一个bug,提交给老油条开发人员(RD),但是开发脸皮很厚,一直没处理
前提:一定不能吵架
- 先从自身出发,测试人员要保证自己操作没有问题,确保自己对需求理解的没有问题
- 沟通层面,好好说话,高情商礼貌去交流
- 站在用户角度考虑问题
- 应该让开发人员了解到Bug对用户可能造成的困扰,这样才能促使开发人员 更加积极地、高质量地修Bug。在争执时,可以问一句:如果你是用户,你可以接受么?
- 例如,删除某一篇文章,但是却把所有的文章都删了,用户直接炸毛了呀!
- 不光要发现问题,提出解决问题的方案
如果你都做到这份上了,开发人员还是不好好处理,就可以这样:
- 拉上相关人(那个开发和他的领导、我的领导、产品经理PM…)开一个第三方会议
- 开会之前:但是我(测试)一定要明确问题产生原因,问题是什么,解决方案是什么
- 开会之后:问题要不要解决,如果要解决,何时解决,谁去解决,知道这些才能散会
- 有时确实不得不开,否则自己的领导就要追责你了~
6. 如何开始第一次测试
能自己解决就尽量自己解决!
- 充分理解需求
- 文档(产品文档+ 技术文档)
- 项目功能问题可以去问产品,模块底层如何实现问开发
- 尽可能多地参加各种项目会议
- 阅读已有地测试方案和测试案例
- 熟悉项目所使用的测试管理工具、配置管理工具、获取对应的地址和登录方式
- 阅读旧有的bug库,了解系统功能,尤其是团队保持一致的bug优先级规定
- 了解公司的规范要求,特别是用例编写,用例执行规范…
- 确定测试计划
- 执行测试
- bug开发修复了之后一定要验收!
- 项目上线+ 维护
7. 测试的执行和bug管理
8. 如何发现更多bug
- 软件测试同样存在二八原则,80%的故障集中于20%的模块
- 如果某部分问题较多,加强测试广度和深度!
- 开发人员也存在二八原则,80%的故障集中于20%的开发人员
- 如果某些开发人员的bug较多,加强他开发模块的测试广度和深度!
- 多进行逆向思维和发散性的思维
- 依赖测试人员的经验,多去写测试用例,多看优秀的人写的测试用例
- 不要局限于用例和需求文档
- 尽早介入项目, 不要等到开发的差不多了再介入项目
- 尽早介入需求,就会尽早理解需求
和深度!
- 多进行逆向思维和发散性的思维
- 依赖测试人员的经验,多去写测试用例,多看优秀的人写的测试用例
- 不要局限于用例和需求文档
- 尽早介入项目, 不要等到开发的差不多了再介入项目
- 尽早介入需求,就会尽早理解需求
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆!
重点:软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执
相关文章:

【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执
【测试开发】基础篇 文章目录 【测试开发】基础篇1. 软件测试生命周期1.1 软件生命周期1.2 软件测试生命周期 2. 描述bug3. 如何定义bug的级别3.1 为什么要对bug进行级别划分3.2 bug的一些常见级别 4. bug的生命周期5. 产生争执这么怎么办(处理人际关系)…...

bing许少辉乡村振兴战略下传统村落文化旅游设计images
bing许少辉乡村振兴战略下传统村落文化旅游设计images...
第三十一章 Classes - 继承规则
第三十一章 Classes - 继承规则 继承规则 与其他基于类的语言一样,可以通过继承组合多个类定义。 类定义可以扩展(或继承)多个其他类。这些类又可以扩展其他类。 请注意,类不能继承 Python 中定义的类(即 .py 文件中…...

华为云HECS安装docker并安装mysql
1、运行安装指令 yum install docker都选择y,直到安装成功 2、查看是否安装成功 运行版本查看指令,显示docker版本,证明安装成功 docker --version 3、启用并运行docker 3.1启用docker指令 systemctl enable docker 3.2 运行docker指令…...
MQ - 04 基础篇_存储_消息数据和元数据的存储设计
文章目录 导图概述元数据信息的存储消息数据的存储数据存储结构设计思路一 (Kafka的方案)思路二 (RocketMQ、RabbitMQ 和 Pulsar 的底层存储 BookKeeper 采用的方案)消息数据的分段实现根据偏移量定位根据索引定位 (RabbitMQ 和 RocketMQ的思路)使用场景消息数据存储格式…...
JavaScript:隐式转换、显示转换、隐式操作、显示操作
一、理解js隐式转换 JavaScript 中的隐式转换是指不需要显式地调用转换函数,而是在执行期间自动发生的数据类型的转换。即在使用不同类型的值进行操作时,JavaScript会自动进行类型转换。这种转换通常发生在不同数据类型之间进行运算或比较时。 序号分类…...

2023全新TwoNav开源网址导航系统源码 | 去授权版
2023全新TwoNav开源网址导航系统源码 已过授权 所有功能可用 测试环境:NginxPHP7.4MySQL5.6 一款开源的书签导航管理程序,界面简洁,安装简单,使用方便,基础功能免费。 TwoNav可帮助你将浏览器书签集中式管理&#…...

Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化)
Android 12 源码分析 —— 应用层 六(StatusBar的UI创建和初始化) 在前面的文章中,我们分别介绍了Layout整体布局,以及StatusBar类的初始化.前者介绍了整体上面的布局,后者介绍了三大窗口的创建的入口处,以及需要做的准备工作.现在我们分别来细化三大窗口的UI创建和…...

华为云ROMA Connect亮相Gartner®全球应用创新及商业解决方案峰会,助力企业应用集成和数字化转型
9月13日-9月14日 Gartner全球应用创新及商业解决方案峰会在伦敦举行 本届峰会以“重塑软件交付,驱动业务价值”为主题,全球1000多位业内专家交流最新的企业应用、软件工程、解决方案架构、集成与自动化、API等企业IT战略和新兴技术热门话题。 9月13日…...

虚拟线上发布会带来颠覆性新体验,3D虚拟场景直播迸发品牌新动能
虚拟线上发布会是近年来在数字化营销领域备受关注的形式,而随着虚拟现实技术的不断进步,3D虚拟场景直播更成为了品牌宣传、推广的新选择。可以说,虚拟线上发布会正在以其颠覆性的新体验,为品牌带来全新的活力。 1.突破时空限制&am…...
Linux arm64 pte相关宏
文章目录 一、pte 和 pfn1.1 pte_pfn1.2 pfn_pte 二、其他宏参考资料 一、pte 和 pfn // linux-5.4.18/arch/arm64/include/asm/pgtable.h#define pte_pfn(pte) (__pte_to_phys(pte) >> PAGE_SHIFT) #define pfn_pte(pfn,prot) \__pte(__phys_to_pte_val((phys_addr_t)…...
MVCC:多版本并发控制案例分析(一)
(笔记总结自b站马士兵教育课程) 一、简介 MVCC:全称multi-version Concurency control,多版本并发控制,是为了解决并发读写问题存在的。MVCC的实现原理由三部分组成:隐藏字段、undolog、readview。 二、概…...

以数据为中心的安全市场快速增长
根据Adroit Market Research的数据,2021年全球以数据为中心的安全市场规模估计为27.6亿美元,预计到2030年将增长至393.48亿美元,2021年至2030年的复合年增长率为30.9%。 研究人员表示,以数据为中心的安全强调保护数据本身&#x…...
AUTOSAR汽车电子嵌入式编程精讲300篇-经典 AUTOSAR 安全防御能力的分析及改善(下)
目录 4.4.2 Security 攻击 4.4.3 Security 要求 4.4.4 SDSA 有效性验证 经典 AUTOSAR 安全防御能力分析...

AI绘图提示词Stable Diffusion Prompt 笔记
基础 提示词分为正向提示词(positive prompt)和反向提示词(negative prompt),用来告诉AI哪些需要,哪些不需要词缀的权重默认值都是1,从左到右依次减弱,权重会影响画面生成结果。AI …...
xml元素值需要保留space
XmlReaderSettings.IgnoreWhitespace 属性 如果忽略空白,则为 true;否则为 false。 默认值为 false。 示例 下面创建一个设置对象,该对象可用于构造一个读取器,该读取器去除处理指令、注释和微不足道的空白。 StreamReader tex…...

Eclipse开源代码下载
当前插件开发,需要修改eclipse源码,如需要修改remote相关的代码,所以需要下载相关源码。网上大多资料都说的不清不楚的,也可能我太小白,不明白,反正就是折腾了一两天才感觉有点思路,改如何找源码…...
python多线程、进程
1、 并行和并发 (1)并发:一定周期内,多个任务来回切换执行,宏观上形成“该周期内有多个任务在同时进行”;但同一时间点,只有一个任务在执行。 举例: 你想在2小时内同时完成做饭、扫…...

Vue基础之模板语法介绍
前言 上篇我分享了关于Vue的入门,简单的入了个门。本篇文章将要分享的内容为Vue的模板语法。 一、插值 1.1、文本 1.2、html 1.3、属性 1.4、class、style绑定 1.5、表达式 在Vue的模板语法中,插值是一种常用的方式来动态地将数据渲染到视图中。Vue使用双…...
【SLAM】 前端-视觉里程计之特征点
前端-视觉里程计之特征点 参考资料: 以不变应万变:前端-视觉里程计之特征点 视觉SLAM——特征点法 task05 本次了解了特征点是由关键子和描述子组成,并且对比了SIFT、SURF等七种获取特征点的方法,同时对比了SIFT、SURF和ORB方法…...

RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...

Ascend NPU上适配Step-Audio模型
1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...

Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...

简约商务通用宣传年终总结12套PPT模版分享
IOS风格企业宣传PPT模版,年终工作总结PPT模版,简约精致扁平化商务通用动画PPT模版,素雅商务PPT模版 简约商务通用宣传年终总结12套PPT模版分享:商务通用年终总结类PPT模版https://pan.quark.cn/s/ece1e252d7df...
Vue 实例的数据对象详解
Vue 实例的数据对象详解 在 Vue 中,数据对象是响应式系统的核心,也是组件状态的载体。理解数据对象的原理和使用方式是成为 Vue 专家的关键一步。我将从多个维度深入剖析 Vue 实例的数据对象。 一、数据对象的定义方式 1. Options API 中的定义 在 Options API 中,使用 …...

【向量库】Weaviate概述与架构解析
文章目录 一、什么是weaviate二、High-Level Architecture1. Core Components2. Storage Layer3. 组件交互流程 三、核心组件1. API Layer2. Schema Management3. Vector Indexing3.1. 查询原理3.2. 左侧:Search Process(搜索流程)3.3. 右侧&…...