前些日子上线了新版的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总结的更多相关文章

  1. [工作日志] 2018-12-06 重点: 解决安全测试bug

    安全测试bug 业务端提出, 在修改是否给联系人发送短信接口,如果操作人和被操作的联系人不在同一个企业的情况下, 也是可以修改的. 解决办法: 加校验.

  2. 测试BUG记录模板(供参考)

    文档说明如下: Bug严重程度: A-崩溃的:由于程序所引起的死机.非法退出.死循环:数据库发生死锁:因错误操作导致的程序中断:主要功能错误:造成数据破坏丢失或数据异常:数据库连接错误:数据通讯错误. ...

  3. 用excel记录测试bug问题总结

    前几天与开发在讨论问题的时候,开发提了一个问题,说是已经解决的问题,能否用excel表格总结一下,问了一下原因,感觉想法很好,就总结了一下. 在上家公司的时候,提交bug用的是mantis,现在是禅道 ...

  4. 一次压力测试Bug排查-epoll使用避坑指南

    Bug复现 使用Webbench对服务器进行压力测试,创建1000个客户端,并发访问服务器10s,正常情况下有接近8万个HTTP请求访问服务器. 结果显示仅有7个请求被成功处理,0个请求处理失败,服务 ...

  5. 测试bug级别定义

    致命bug:不能完全满足系统要求,系统停止运行,系统的重要部件无法运行,系统崩溃或者挂起等导致系统不能正常运行. 修改优先级为最高,该级别问题需要立即修改. 1.系统崩溃 2.导致程序重启,死机或非法 ...

  6. 手机monkey测试BUG重现及解决方法

    目录 1.1 Monkey测试简介...1 1.2 Monkey程序介绍...1 1.3 Monkey命令的简单帮助...2 1.4 Monkey命令参数介绍...2 1.5 Monkey测试步骤.. ...

  7. 开发至今,终于开始测试bug,可以省心点了

    今天遇到一个特别奇葩的问题 IOSSDK9.1 Xcode7.1.1 使用表控制器UITableViewController来刷新表时, 之前对表的frame进行的修改,都会被恢复,沾满整个屏幕. 目 ...

  8. 关于上级机构的冲突性测试bug修复

    描述: 1.上级机构可以为空. 2.机构添加时,选择了上级机构,在未提交前,另一用户将该机构删除,然后前一用户再提交表单,提示会保存成功,本操作应该保存失败. 思路:在上级机构不为空时,保存前进行查询 ...

  9. 测试bug

    模板在运行时出现了以下 1 个错误:---------------------------Controller.tt(-1,-1) : error : 获取 AppDomain 以便从主机运行转换时出 ...

随机推荐

  1. ubuntu系统克隆

    使用clonezilla,原文地址:http://www.linuxidc.com/Linux/2014-09/107117.htm 类似的一篇:http://storysky.blog.51cto. ...

  2. "=="与equals的区别与联系

    "=="可作用于基本类型变量和引用类型变量: 1.当作用于基本类型变量时,比较的是变量的值是否相等. 2.当作用于引用变量时,比较的是该变量在内存中地址. "equals ...

  3. Java爬取51job保存到MySQL并进行分析

    大二下实训课结业作业,想着就爬个工作信息,原本是要用python的,后面想想就用java试试看, java就自学了一个月左右,想要锻炼一下自己面向对象的思想等等的, 然后网上转了一圈,拉钩什么的是动态 ...

  4. Maven的构建生命周期理解

    以下引用官方的生命周期解释https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html: 一.构建生命 ...

  5. maven打包自动配置数据库链接信息

    pom.xml加入下面代码 <profiles> <profile> <id>dev</id> <activation> <activ ...

  6. Go -- etcd详解(转)

    CoreOS是一个基于Docker的轻量级容器化Linux发行版,专为大型数据中心而设计,旨在通过轻量的系统架构和灵活的应用程序部署能力简化数据中心的维护成本和复杂度.CoreOS作为Docker生态 ...

  7. 设置NSZombieEnabled和MallocStackLogging

    在XCode.4以上版本号中,设置NSZombieEnabled和MallocStackLogging 1.点击XCode的Product菜单.选择Edit Scheme...选项 2.选择左側的Ru ...

  8. Win7安装软件,界面上中文显示乱码的解决方案

    “Control panel”->"Clock,Language and Region"->"Region and Language"->第四 ...

  9. 在A页面刷新父框架中的B页面.(window.parent.?.location="")

    window.parent.leftFrame.location='left.jsp?menuid='+menu.id+'&menuname='+menu.title;

  10. leetCode(40):Path Sum

    Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all ...