如何做好BUG回归_回归bug正确做法-程序员宅基地

技术标签: 测试分享  BUG回归  

BUG贯穿研发体系、测试质量衡定的始终,做好BUG回归,即能保证质量,又能提高个人测试能力。做好BUG回归,能够很大程度的避免漏测。

 

BUG的处理流程

 

 

回归BUG的思路

从回归BUG的思路来看,首先验证原BUG现象是否仍然复现。然后需要进行BUG扩展回归,主要从哪几方面扩展呢?

首先是开发原理。

根据开发原理评估问题的原因、改动的方法、以及可能产生的影响。

然后BUG扩展。

针对BUG本身的扩展,建议从BUG描述进行断句,分析每个涉及到的模块,是否有扩展测试的必要。

另外是一些常规的扩展测试比如:

 

  • 是否需要覆盖多个平台?

  • 是否需要覆盖手机和平板?

  • 是否需要考虑横竖屏?

  • 是否要考虑分辨率?

  • 是否要考虑多语言?

 

举几个之前回归过bug作为示例:

 

BUG1:文件列表中文件的创建日期显示不正确,应该显示今天、昨天、两天前的需要显示具体日期。

回归方法:

首先确保显示上没问题,无文案错误。

从开发原理上讲,要考虑:

1、今天、昨天和三天前是以什么时间为节点判断。以当前系统时间24个小时往前推算,还是服务器时间以0点为准?

2、显示具体日期时,日期的格式具体是怎样的,是否显示年月日?年月日的顺序是怎样的?中间是用-隔开,还是\隔开呢?

3、是否存在中文和英文的差异,甚至是多语言?因为不同语言表达日期的惯用格式是不一样的。

3、文件的日期是怎么获取来的?如果是服务端,那万一服务端返回回来为空或者异常,列表会怎么显示?

4、假设修改手机系统的日期了 ,今天、昨天、三天前是否会改变?

针对BUG本身的扩展:

1、文件列表:文件列表是否存在多个地方?改动是一处,还是多处?是否存在其他的列表也显示日期的?

2、创建日期:创建日期和修改日期是有差别的,是否显示的和需求相符是创建日期,而非修改日期。

其他常规的扩展:

1、因为涉及到Android和iOS两个平台,因此需要覆盖两个平台测试。

2、仅支持手机,因此仅测试手机即可。

3、不支持横竖屏,因此不必扩展。

4、低分辨率或者大字体下有没有可能超出一行,超出一行时如何处理,显示是否美观。

5、存在英文,英文的习惯是年份在后面,是否有符合英文的阅读习惯?

当然,涉及到需求不明确的时候,预期结果要以需求为准。

 

 

BUG2:文件名称过长换行时,发现右侧的编辑按钮换行且和第二行标题重叠了。

 

从开发原理上讲,还要考虑:

1、为何之前会换行,是因为之前没对文案的长度做限制。那么修改后是以字符数作为限制,还是以相对布局的宽度来做长度限制的?

2、右侧编辑按钮为什么会换行?因为原来标题和编辑按钮是相对布局,相对于标题的右侧进行显示。需要修改为线性布局,固定在右侧给编辑按钮一个位置。

3、超出一行的内容如何显示,省略号还是其他?

针对BUG本身的扩展:

1、文件名称:中文、英文、标题、符号是否都能正常换行显示?换行的效果看起来都是美观的?英文单词中间是否会出现换行?

2、改动布局之后的编辑按钮位置是否明显,点击触控区域是否合理?

 

如何提高回归bug的准确性?

 

  • 测试用例设计和评审阶段,输出一份完整明确的案例。

  • 案例设计的越完整,回归BUG时可参考的案例越明确。

  • Bug提交阶段,给出明确的描述和步骤

一方面开发重现问题时可以参考,快速分析。另一方面,大幅度提高他人熟悉和回归的效率。尤其在提交BUG时附上的截图和日志,是非常有价值的。

  • Bug修复阶段,开发和测试要积极沟通修复方案。

 

一般来说,会要求在缺陷管理平台上开发处理bug时提交修改说明,第二,在测试回归前积极跟开发沟通问题原因、修复的方案和影响。

 

  • BUG关闭阶段,积极完善测试案例。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/alice_tl/article/details/80218810

智能推荐

通过OpenSSL获取证书扩展属性之二:“密钥用法”和"增强型密钥用法"_openssl 增强型密钥用法-程序员宅基地

文章浏览阅读1.1w次。介绍如何使用Openssl解析CA证书、获取“密钥用法”和“增强型密钥用法”扩展属性。_openssl 增强型密钥用法

E: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu bionic Release” 没有 Release 文件的解决办法-程序员宅基地

文章浏览阅读3k次,点赞6次,收藏5次。ubuntu18.04在运行sudo apt-get update命令时出现以下错误:E: 仓库 “http://ppa.launchpad.net/fcitx-team/nightly/ubuntu bionic Release” 没有 Release 文件解决办法:打开软件更新>其他软件,将做标记的两个勾选去掉问题解决...

资金账户、证券账户及银行账户_证券账户与资金账户与银行账户区别-程序员宅基地

文章浏览阅读1w次,点赞5次,收藏10次。1、 资金账户(证券公司开立的,与券商直接相关)资金账户是你登陆证券交易结算资金账户的凭证,你在一家证券公司开户后,就拥有了这家证券公司的资金账户,你平时用这个账户进行股票的买卖和操作。这是证券公司专门用来记录你资金流转的账户,但是你的资金并不在证券公司里,而是放在和证券公司合作的第三方存管银行账户里,你交易的时候通过交易软件把钱转到你的资金账户进行股票交易,这是为了保护投资者的利益,防止证券公司挪用和非法占有客户的资金。资金账号,是一种股市上的专业术语,一般指的是用于买卖股票的股东资金账户上的账..._证券账户与资金账户与银行账户区别

重置Catalyst 6500/6000 和 Cisco 7600 系列交换机Consle口密码详解_sys-sp-3-logger_flushed system was paused for-程序员宅基地

文章浏览阅读1.1k次。目录说明分解步骤输出示例其他类型的机器简版过程说明在运行 Cisco IOS 系统软件的 Catalyst 6500/6000 和 Cisco 7600 上,其启动顺序与 Cisco 7200 系列路由器有所不同,因为两者的硬件不一样。在您关机并重新开机机箱后,交换机处理器(SP)首先启动。在一小段时间(大约 25 到 60 秒)后,它将控制台所有权转交给路由处理器 (RP (MSFC))。RP 继续加载捆绑的软件映像。请务必在 SP 将控制台控制权转交给 RP 之后立即按 Ctrl-brk。如果您太早_sys-sp-3-logger_flushed system was paused for

MySQl建库建表及增删改查_头歌实践教学平台数据库用户数据库的创建及删除-程序员宅基地

文章浏览阅读427次。通过可视化工具建库建表创建数据库CREATE DATABASE studb2 CHAR SET utf8;切换数据库(使用use 将数据库切换到 studb2)USE studb2 ;在studb2 中创建名为t_stu的表CREATE TABLE t_stu( sid VARCHAR(10) , sname VARCHAR(20), age INT, height FLOAT , weight DOUBLE)CHAR SET utf8_头歌实践教学平台数据库用户数据库的创建及删除

readelf_windows readelf-程序员宅基地

文章浏览阅读120次。系统里的目标文件是按照特定的目标文件格式来组织的,各个系统的目标文件格式都不相同。从贝尔实验室诞生的第一个Unix系统使用的是a.out格式(直到今天,可执行文件仍然称为a.out文件)。Windows使用可移植可执行(PortableExecutable,PE)格式。Mac OS-X使用Mach-O格式。现代x86-64Linux和Unix系统使用可执行可链接格式(Executable and Linkable Format,ELF)。_windows readelf

随便推点

AOP与OOP有什么区别,谈谈AOP的原理是什么,大厂Android高级面试题汇总解答-程序员宅基地

文章浏览阅读521次,点赞25次,收藏11次。包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频**

最小费用流_单向图费用流-程序员宅基地

文章浏览阅读1.5k次。单向图#include//每次找费用的最短路,更新残留网络图直到找不到最短路为止#include//最大费用 权值取负值 结果取负值#include#include#includeusing namespace std;const int inf=0x3f3f3f3f;struct Node_单向图费用流

Python中的5个高阶概念属性的知识点!你要了解明白哦!_python属性的五大类-程序员宅基地

文章浏览阅读318次。在现代编程世界中,面向对象编程(OOP)语言在改变软件开发中的设计和实现模式方面发挥了进化作用。作为OOP家族的重要成员,Python在过去10年左右逐渐流行起来。与其他OOP语言一样,Python围绕大量不同的对象操作其数据,包括模块、类和函数。如果您有任何OOP语言的编程经验,您应该知道所有对象都有其内部特征数据,称为字段、属性或属性。在Python中,这些对象绑定的特征数据通常称为属性。在本文中,我将特别在自定义类的上下文中讨论它们。1. 类属性为了更好地管理项目中的数据,我们经常需要_python属性的五大类

python 基于PHP+MySQL的装修网站的设计与实现_python抓取装修需求-程序员宅基地

文章浏览阅读282次。5:系统简介设置:系统管理员应该可以通过系统简介设置功能设置系统前台的系统简介信息,系统前台的系统简介是随后台的变化而变化的,系统简介应该使用编辑器,实现图片,文字,列表,样式等多功能输入。6:系统公告设置:系统管理员应该可以通过系统公告设置功能设置系统前台的系统公告信息,系统前台的系统公告是随后台的变化而变化的,系统公告应该使用编辑器,实现图片,文字,列表,样式等多功能输入。应该都要能修改自己的登录密码,修改后需要重新登录。13:装修效果:员工给客户上传装修效果和装修进度,客户查询。_python抓取装修需求

ubuntu完美的nvidia驱动安装方式(ubuntu16+驱动410+cuda10.0)or(ubuntu16+驱动455+cuda11.1)_乌班图英伟达驱动选着哪个版本-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏5次。ubuntu完美的nvidia驱动安装方式(ubuntu16+驱动410+cuda10.0) 本人卡 GeForce GTX TITAN X1.卸载驱动并重启电脑:sudo apt-get remove --purge nvidia-*sudo apt-get autoremove #特别重要sudo apt-get install -f #特别重要sudo reboot......_乌班图英伟达驱动选着哪个版本

解决redis超时io.lettuce.core.RedisCommandTimeoutException: Connection timed out after 5s-程序员宅基地

文章浏览阅读5.3k次。报错内容:io.lettuce.core.RedisCommandTimeoutException: Connection initialization timed out. Command timed out after 1 minute(s) at io.lettuce.core.internal.ExceptionFactory.createTimeoutException(ExceptionFactory.java:65) ~[lettuce-core-6.1.4.RELEASE.j..._io.lettuce.core.rediscommandtimeoutexception: connection initialization time