近期测试BUG总结
前些日子上线了新版的app,在上线后发现了几个重大的bug,在此总结,在以后的测试工作中需要额外的关注。
- 需求流程bug
- 页面刷新bug
- 标签栏刷新bug
第一个bug出现的原因是产品需求与运营实际操作不同步而产生的bug
产品上线的需求是上线一个活动,活动有报名时间,报名通过公布名单时间。在流程图上,所有一系列的操作都是在活动时间内操作的(包括活动报名,查看名单,通过报名,上传活动体验),而在活动结束后没有任何的操作。但是实际上线后发现的问题是,运营都是在活动结束后才会公布名单,然后用户才可以查看名单,上传活动体验。而此时操作按钮都已经变成了"已结束"。这就十分尴尬了,因为在测试过程中我们根据流程图进行测试,活动时间内可以进行相关的操作,而活动结束了变为了已结束,完全符合需求,功能实现也没有问题,但是实际运营就有问题了。
这个bug的出现很难说是谁的问题,从项目流程来说,在需求定义、流程确认阶段就有问题,导致下游一系列的工作都是在错误的方向;但是从实际工作内容来讲,测试及开发人员对相应地需求没有进行很好地确认,对需求进行深层次的解读,仅仅是看着需求文档就完成了自己的工作,这也是存在问题的。
从测试人员角度出发,这个bug的出现可以让我们反思到一些问题,作为一名测试,如何测试才是有效的测试?是一条条详细的测试案例?是对需求文档的详细分析?我认为这些都不是重点,当我们完全认同这份文档,无论我们提出怎样的问题,设计怎样的案例,都无法测试出其中的问题。拿上述例子来说,就看到的流程来说是没有任何问题的,需求文档得到了开发,测试,产品多方的认同。但就是在实际操作方面出现了问题,那么如何避免这样的问题,或者说可以测到类似的问题?
我认为测试人员应当明确自身的责任,作为一名测试,不是让一个app能够完美运行,让一个系统正常运行就可以了,或者提出这样那样的bug,而是将自己放到一个产品运营,项目开发的质量保障位置,用自己的技术、思维来解决问题,能够发现在项目开发,产品运营中的痛点(这不仅仅是指bug),并能以自己的能力去解决这些痛点,可以让开发、运营更高效的工作,产品系统运营的更好,这才是一名优秀的测试人员,测试人员不应把自己放到提出问题的位置,而是能解决问题的位置,间接的解决问题。莫要先入为主,我就是个测试,我测试的东西能够跟产品需求吻合就OK了,这样可能会测试工作完成的很好,但是从测试人员角度来说已经把自己限制死了。
第二个bug出现的原因是常见的app中cell的复用问题
做过app开发的同学可能都清楚,大部分的app页面都是一个个tableview,tableview重要的一个功能是cell复用,当我们上滑页面,一个cell消失,下面cell出现,其实不是出现了一个新的cell,只是滑出屏幕的cell被复用了,这样做的目的是可以大大优化tableview的性能,但是如果cell复用的时候数据处理不好可就有bug了,没有将之前的数据清除,那么就会造成下滑出现的cell的数据跟上面是重复的,造成各种各样的问题,这个在测试过程中需要多多注意。
第三个bug是标签栏刷新bug
一个标签刷新了,再去点击另一个标签,数据刷新了,但是标签栏选中状态还是上一个标签,常见bug,该拿程序猿祭天了,不多说了。
近期测试BUG总结的更多相关文章
- [工作日志] 2018-12-06 重点: 解决安全测试bug
安全测试bug 业务端提出, 在修改是否给联系人发送短信接口,如果操作人和被操作的联系人不在同一个企业的情况下, 也是可以修改的. 解决办法: 加校验.
- 测试BUG记录模板(供参考)
文档说明如下: Bug严重程度: A-崩溃的:由于程序所引起的死机.非法退出.死循环:数据库发生死锁:因错误操作导致的程序中断:主要功能错误:造成数据破坏丢失或数据异常:数据库连接错误:数据通讯错误. ...
- 用excel记录测试bug问题总结
前几天与开发在讨论问题的时候,开发提了一个问题,说是已经解决的问题,能否用excel表格总结一下,问了一下原因,感觉想法很好,就总结了一下. 在上家公司的时候,提交bug用的是mantis,现在是禅道 ...
- 一次压力测试Bug排查-epoll使用避坑指南
Bug复现 使用Webbench对服务器进行压力测试,创建1000个客户端,并发访问服务器10s,正常情况下有接近8万个HTTP请求访问服务器. 结果显示仅有7个请求被成功处理,0个请求处理失败,服务 ...
- 测试bug级别定义
致命bug:不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或者挂起等导致系统不能正常运行. 修改优先级为最高,该级别问题需要立即修改. 1.系统崩溃 2.导致程序重启,死机或非法 ...
- 手机monkey测试BUG重现及解决方法
目录 1.1 Monkey测试简介...1 1.2 Monkey程序介绍...1 1.3 Monkey命令的简单帮助...2 1.4 Monkey命令参数介绍...2 1.5 Monkey测试步骤.. ...
- 开发至今,终于开始测试bug,可以省心点了
今天遇到一个特别奇葩的问题 IOSSDK9.1 Xcode7.1.1 使用表控制器UITableViewController来刷新表时, 之前对表的frame进行的修改,都会被恢复,沾满整个屏幕. 目 ...
- 关于上级机构的冲突性测试bug修复
描述: 1.上级机构可以为空. 2.机构添加时,选择了上级机构,在未提交前,另一用户将该机构删除,然后前一用户再提交表单,提示会保存成功,本操作应该保存失败. 思路:在上级机构不为空时,保存前进行查询 ...
- 测试bug
模板在运行时出现了以下 1 个错误:---------------------------Controller.tt(-1,-1) : error : 获取 AppDomain 以便从主机运行转换时出 ...
随机推荐
- Linux字符模式下如何设置/删除环境变量
Linux字符模式下设置/删除环境变量方法: bash下 设置:export 变量名=变量值 删除:unset 变量名 csh下 设置:setenv 变量名 变量值 删除:unsetenv 变量名 h ...
- highcharts中放aqi及6要素,再加上气象5要素的图
var chart = Highcharts.chart('container', { chart: { zoomType: 'xy' }, title: { text: '东京月平均天气数据' }, ...
- Eclipse工程中Java Build Path中的JDK版本和Java Compiler Compiler compliance level的区别(转)
在这里记录一下在eclipse中比较容易搞混淆和设置错误的地方.如下图所示的功能: 最精准的解释如下: Build Path是运行时环境 Compiler是编译时环境 假设,你的代码用到泛型,Bu ...
- iOS Framework: Introducing MKNetworkKit (MKNetworkKit介绍,入门,翻译)
这片文章也有塞尔维亚-克罗地亚语(由Jovana Milutinovich翻译)和日语(由@noradaiko翻译) 如果有个一个网络库能够自动的为你处理cache该有多好啊. 如果有一个网络库能够在 ...
- Android常见的三种内部类
在java里类中再定义类,这种在其他类内部类叫做内部类,在Android开发里最常见有三种内部类分别是(成员内部类.方法内部类.匿名内部类) 一.成员内部类 1 public class Test { ...
- K-L变换和 主成分分析PCA
一.K-L变换 说PCA的话,必须先介绍一下K-L变换了. K-L变换是Karhunen-Loeve变换的简称,是一种特殊的正交变换.它是建立在统计特性基础上的一种变换,有的文献也称其为霍特林(Hot ...
- C# Http方式下载文件到本地
下文代码是从网络(http://www.cnblogs.com/hayden/archive/2012/04/26/2472815.html)得来,亲测好用.我中修改了下格式和注释,版权属于原作者“舒 ...
- (一)MVVMLight安装
http://www.cnblogs.com/manupstairs/p/4890300.html 1.首先新建一个wpf项目 2. 安装完成即可在我们的项目中看到如下引用: 如果点击安装的时候出现: ...
- android 5.X Toolbar+DrawerLayout实现抽屉菜单
前言 android5.X新增的一个控件Toolbar,这个控件比ActionBar更加自由,可控,因为曾经的ActionBar的灵活性比較差,所以google逐渐使用Toolbar替代Action ...
- python(19)- 列表生成式和生成器表达式练习Ⅰ
列表表达式 程序一: 常规写法: egg_list=[] for i in range(100): egg_list.append('egg%s' %i) print(egg_list) 列表表达式写 ...