软件测试中bug修正后测试就结束了吗?

news2025/7/20 6:18:03

一般来说,当 Bug 跟踪系统上所有的 bug 都被关闭了以后,你会感到如释重负,终于可以松一口气了。

当项目成功交付后,你是否感到大脑进入了疲惫期,上网,聊天,写自己感兴趣的小程序,项目已经结束,对于上个项目你已不愿去想它。

既然距离下一个项目中间还有点时间,就找点轻松的活干吧,免得老板给你找些更受罪的事让你充分体会生活。“温故而知新”,这句古训总是不会错的,也可以帮你对项目的进行过程作个分析,总结,最好再将结果做个汇总或图标。老板一目了然,觉得你能够想到这点也实属难得,而且自己也能有些收获。 

软件测试中bug修正后测试就结束了吗?

这是在一个阶段项目结束后最容易忽略的地方。

开发阶段,最好寻找的依据就是 Bug 记录,Bug 管理系统已经记录下了所有的 Bug 的现象,分 类,所处模块,发生原因。虽然几乎所有的 Bug 管理系统都提供报表,分类汇总等功能。但是它也只是提供一个数据汇总功能。真正对这些信息作认真分析还需要人为干预,这就需要积极开动你的主观能动性了。

1、对bug范围做分析

对 Bug 的修正过程分析后,你可能发现绝大部分 Bug 都和少数几个关键的代码文件有关系, 而不是大部分文件都需要去修改。例如我有一个模块,共几十个代码文件,80%的 bug 在修正中只对其中两个代码文件有修改。也就是说,Bug 虽然表现形式可能不同,但是追溯其发生原因,大部分都在很有限的代码范围内。其实,这样缩小范围也有助于问题的定位与解决。

但是,这些代码都不是关键部分,而出乎意料的是它会放在一些不怎么重要的地方。原因是关键代码(比如数据库操作)在程序员开发时就多次运行,验证过了,或者都已统一做了封装,包含在某个框架中,可靠性高,出现 Bug 的机率不大。非关键的部分会常常会落在一些不太受重视的细节,比如焦点的移动,控件的对齐,特殊数据类型(时间,货币)的表示格式,字体, 颜色等等,又或者某些值的计算或精确度有误。而从这些细节再细分下去,一个模块又会集中在其中的几项上,比如,70%的 Bug 又属于焦点移动和表示格式的问题。

2、对bug原因做分析

对于 Bug 出现的原因也不容忽视,做好这一环甚至可以达到bug预防的效果。比较常见的有几种:

  • 代码实现与需求设计不符;
  • 单纯的实现错误或遗漏;
  • 对某个点设计和实现同时实现出现逻辑相互冲突的情况,又或者两者都遗漏;
  • 因为主观认为问题较小不重要或容易忽略没有人提出,直到测试时才发现;
  • 没有遵守项目的规范, 本不是 Bug,但是测试人员和开发人员的理解不同。 

以上 Bug 出现的原因中对于需求,开发,测试不一致的问题,常常是由于三者之间对于模块要实现什么和要测试什么没有一个统一的标准,这也是很多不成熟小公司流程上所出现的问题。

所以首先必须有一份文档来作为参照,如果出现理解上的偏差或不一致,可以到这里找答案,如果找不到,需查缺补漏。 

对于实现阶段出现的问题,除过上面说到的标准不一致外,再主要就是人为因素造成的问题,比如程序员自己单纯的错误或粗心,遗漏了某个细节,或者是理解上的偏差,虽然实现了,但是不完全正确。

对于后者,可以是因为一个自己模块的特殊功能,代码就写的有问题,也可以是因为一个在多个模块中都要用到的功能,但是没有作统一的封装,大家按自己的思想各写各的,结果是实现方式上的差异使得Bug出现机率的增高。对于第二种情况,应当首先考虑将这个功能封装起来,统一调用,并且写下文档。对于测试,在保持和设计,主要功能实现一致的前提下,可以对次要测试点分为通用部分(焦点,字 体,控件大小,日期,货币的显示格式),非通用部分(除通用部分外该模块自身要实现的 功能),再进行正常情况,异常情况分类,进行测试。 

以上的分析都是基于单元测试的结果,并且只针对一个模块,虽然有很大的局限性,但是相信这样对于开发和测试会变得更有针对性,后面项目的开发也会有很有帮助。一方面可以减少 Bug, 一方面测试的效率也可以提高!

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

自动化测试视频教程、学习笔记领取传送门!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1102518.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SRS Config 一 基础配置

Config srs 流媒体服务配置官方文档已经很详细了,本文仅记录部分配置过程 srs.conf同级目录下 新建 self.conf 仿照srs.conf 添加基础配置 1 rtmp RTMP是直播的事实标准,这么多年以来一直是使用最广泛的直播协议。 然而Adobe公司没有一直更新RTMP协…

“1688按图搜索商品:拍立淘API,轻松实现高效购物!“

1688按图搜索商品(拍立淘)API的步骤大致如下: 需要先开放平台注册开发者账号。为每个淘宝应用注册一个应用程序键,登陆密钥。下载1688API的SDK并掌握基本的API基础知识和调用。利用SDK接口和对象,传入AppKey或者必要的…

VScode折叠代码

问题现状 代码看的我很烦, 有大段大段好像没有逻辑意义的部分,像大量的print语句, 想能不能折叠起来 在设置里面找 搜索Folding,找到Show Folding Controls, 换成always吧,一般默认是mouseover&#x…

21-数据结构-内部排序-交换排序

简介:主要根据两个数据进行比较从而交换彼此位置,以此类推,交换完全部。主要有冒泡和快速排序两种。 目录 一、冒泡排序 1.1简介: 1.2代码: 二、快速排序 1.1简介: 1.2代码: 一、冒泡排序…

10.17七段数码管单个多个(部分)

单个数码管的实现 第一种方式 一端并接称为位码;一端分别接收电平信号以控制灯的亮灭,称为段码 8421BCD码转七段数码管段码是将BCD码表示的十进制数转换成七段LED数码管的7个驱动段码, 段码就是LED灯的信号 a为1表示没用到a,a为…

文心一言 VS 讯飞星火 VS chatgpt (115)-- 算法导论10.2 8题

八、用go语言,说明如何在每个元素仅使用一个指针 x.np(而不是通常的两个指针 next和prev)的下实现双向链表。假设所有指针的值都可视为 k 位的整型数,且定义x.npx.next XOR x.prev,即x.nert和x.prev 的 k 位异或。(NIL 的值用0表示。)注意要说…

1数据结构的分类,算法效率的度量

一,数据结构的定义和分类 数据结构:数据之间的关系即数据的逻辑结构,因为要存储到计算机里,所以视为将这个数据的逻辑结构映射到存储器里。即数据因为自身的和其他的数据的关系而在计算机内存储的方式。我们就归类了一些类型。 二…

Idea怎么配置Maven才能优先从本地仓库获取依赖

网上的方法 : 在设置中搜索 Runner ,在VM Option中设置参数 -DarchetypeCataloginternal删除 解压后的依赖包中的 _remote.repositories m2e-lastUpdated.properties *.lastUpdated 文件。 上边都没有效果 最终的解决方法,修改maven配置文件settings.xml 主要两个…

封装一个Element-ui生成一个可行内编辑的表格(vue2项目)

这个封装的是一个供整个项目使用的表格,可多次复用.放在一个全局使用的公共组件文件下. 大致功能介绍,封装自定义指令,点击获得焦点,显示输入框,失去焦点显示文本内容,类型是字典决定类型,图片可以显示图片名还是上传图片 子组件 <script> export default {props: {//生…

6.4 图的存储结构

思维导图&#xff1a; 前言&#xff1a; --- **6.4 图的存储结构** - **核心问题**&#xff1a;由于图的结构复杂性&#xff0c;我们不能仅仅依赖于元素在存储区的物理位置来表示它们之间的关系。 - **邻接矩阵**&#xff1a; - **基本思路**&#xff1a;虽然图没有顺序存…

基于混沌博弈优化的BP神经网络(分类应用) - 附代码

基于混沌博弈优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于混沌博弈优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.混沌博弈优化BP神经网络3.1 BP神经网络参数设置3.2 混沌博弈算法应用 4.测试结果…

在Objective-C中使用ASIHTTPRequest发送HTTP请求并获取HTML内容

在网络爬虫开发中&#xff0c;发送HTTP请求并获取目标网站的HTML内容是一项常见任务。通过发送HTTP请求&#xff0c;我们可以模拟浏览器行为&#xff0c;访问网页并获取其中的数据。这些数据可以用于数据分析、信息收集、自动化测试等多种用途。为了实现这个目标&#xff0c;开…

基于堆优化优化的BP神经网络(分类应用) - 附代码

基于堆优化优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于堆优化优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.堆优化优化BP神经网络3.1 BP神经网络参数设置3.2 堆优化算法应用 4.测试结果&#x…

数组越界访问导致死循环的情况

这个问题是在学习程序地址空间的时候回忆C语言学习时想到的 我们会遇到下面的情况 int main() {int i 0;int arr[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };for(i 0; i < 12; i){arr[i] 0;}return 0; }程序死循环了 问题就出在程序的存储空间上&#xff0c;i和arr都是局…

BFD基础

1.BFD概述 BFD提供了一个通用的、标准化的、介质无关的、协议无关的快速故障检测机制&#xff0c;有以下两大优点&#xff1a; ①对相邻转发引擎之间的通道提供轻负荷、快速故障检测。 ②用单一的机制对任何介质、任何协议层进行实时检测。 BFD是一个简单的“Hello”协议。两个…

分享一份适合练手的软件测试实战项目

最近&#xff0c;不少读者托我找一个能实际练手的测试项目。开始&#xff0c;我觉得这是很简单的一件事&#xff0c;但当我付诸行动时&#xff0c;却发现&#xff0c;要找到一个对新手友好的练手项目&#xff0c;着实困难。 我翻了不下一百个web网页&#xff0c;包括之前推荐练…

YOLOv5算法改进(6)— Neck网络介绍(AFPN和BiFPN)

前言:Hello大家好,我是小哥谈。Neck网络是目标检测中的一个重要组成部分,主要用于对检测器提取的特征进行进一步处理和融合,以提高检测精度。通常,Neck网络由一系列卷积层、池化层、上采样层等组成,可以将不同层次的特征进行融合,同时也可以对特征进行降维和升维操作。本…

VT-MVTW-1-16/D VTS0234-47/AP025 可以用模拟或数字输入来控制

VT-MVTW-1-16/D VTS0234-47/AP025 可以用模拟或数字输入来控制 伺服驱动器可以用模拟或数字输入来控制。本质上&#xff0c;伺服驱动器的作用是将来自控制器的低功率命令信号转换成高功率电压和电流给电机。根据应用&#xff0c;伺服驱动器可以调节和适当协调电机的期望位置、…

【MySQL】索引介绍、索引的数据结构

&#x1f40c;个人主页&#xff1a; &#x1f40c; 叶落闲庭 &#x1f4a8;我的专栏&#xff1a;&#x1f4a8; c语言 数据结构 javaEE 操作系统 Redis 石可破也&#xff0c;而不可夺坚&#xff1b;丹可磨也&#xff0c;而不可夺赤。 索引 一、索引概述二、索引结构2.1 BTree2.…

Linux文件管理(上)

一、VIM编辑器 1、vi概述 vi&#xff08;visual editor&#xff09;编辑器通常被简称为vi&#xff0c;它是Linux和Unix系统上最基本的文本编辑器&#xff0c;类似于Windows 系统下的notepad&#xff08;记事本&#xff09;编辑器。 2、vim编辑器 Vim(Vi improved)是vi编辑器…