----故事纯属虚构,如有雷同实属意外----
故事涉及的视频播放软件是一款类似某水果tv的视频播放类软件,通过遥控器操作。
故事略长,心急吃不了热豆腐!
人物出场顺序
领导:测试负责人,甩手掌柜的
大树:项目经理,手握N个重要项目的公司红人
树杈:懵懵懂懂的苦逼开发
树根:满嘴跑火车的项目需求
小草:随时准备填坑的测试小白
Bug从哪来
某一年的某一天,测人员小草蹦蹦哒哒的刚从外头进办公区,就听见一通喊"小草,小草"。小草一阵心惊,一般这个时候都是领导有请。走近之后,果不其然,领导正找人呢。
"小草,小草,过来,过来,有个着急的事",领导看到小草赶紧招手。
小草(一脸谄媚)"领导,啥事?"
领导:"你手里的项目先停一停,开发说有个bug,你帮着给验一下,应该很快"。
小草心中暗叫不好,这种事情大多时候是填坑,又因为领导偏爱用小草填坑,同事都不愿意和小草同做一个项目,给小草取了个外号"填坑侠"。
小草满脸堆笑的问"领导,啥bug呀?"
"项目经理大树说《视频奇迹》里的观看记录,在删除时,焦点会丢失。App已经发给你了,有不清楚的地方你找大树吧。"领导说。
小草把脸上的皱纹扯了扯说"好哒,我先看看。"
Bug背景
回到工位的小草,从众多的邮件里找到了领导转发的阿婆婆(app),找了个设备装上了。小草进入app后,看见好几个导航页,每个页面里都有好多视频。小草播放了两个视频后,开始满app的找观看记录,终于在一个角落里找到用户中心>观看记录。
找到观看记录的小草,尝试着删除观看记录,但是小草发现页面上并没有如何删除观看记录的提示,怎么操作都没法删除观看记录。
一脸蒙圈的小草开始在办公区转悠,转悠了两圈,终于找到了大树。
"大树,我们领导说有个丢焦点的bug要验一下,啥情况啊?"
"小草,我有点忙,这个事你找开发树杈吧。"
"等会,等会,容我再说两句",小草说,"《视频奇迹》的app安装有设备型号要求么?是就验这一个bug么?"
"设备没要求,装哪都行,就验这一个bug,我先走了"。项目经理说完就闪了。
小草找树杈说明来意,树杈说这是一个偶现的bug,用户在删除自己的观看记录时,焦点丢了,问题已经修改好了,需要验一下。
"焦点为啥会丢失呢?咋修改的?"小草问。
"方法处理的有问题,已经添加了判断,应该没啥问题了,你验一下吧"。
"偶现的bug是吧,我该咋验"小草不死心的问。
树杈嘿嘿一笑,"你看呗,删了观看记录,焦点不丢"。
小草内心已经开始骂街了,"那个删除观看记录的咋操作呢?我咋找不着在哪删。"
"用户中心页面边上有个小角,点完那个,就能删了",说完树杈又埋头干活去了。
小草悻悻的回到工位,内心一通骂,"偶现的bug,你不说为啥会丢焦点,,也不说咋改的,验个鬼呀"。
小草目不转睛的盯着电脑屏幕,瞪着邮件里的bug:
【bug1:用户删除观看记录时,偶现焦点丢失】,
嘴里还不停的念叨着"我咋验,我咋样,我咋验……"。
瞪了一会儿,小草进入用户中心页面,进入可删除模式,选择一个观看记录,进行删除,删掉了一开始看的两个观看记录后,观看记录就删空了,并没有发现焦点丢失。
咋整呢,就这么交差?不行,万一出来问题,就成顶锅的了,小草起身又找树杈去了。"树杈,原来出现焦点丢失的版本是哪个呀?你有这个版本么?"小草满脸堆笑着问。
"嗯,有,我发你。""好嘞,谢谢啦!"
拿到问题版本的小草开始复现bug,删了几个观看记录后,并没有复现问题。
小草心中开始打鼓,要是在问题版本上不能复现,或者在修复版本上也没发现问题,我要怎么交差?我就给领导说删除一、二百次,未复现偶现bug,建议后续跟踪?呃,好像也没啥好办法了,先删除试试吧,小草开始焦躁起来。
Bug回归
小草在问题版本上造了三十多个观看记录,接着就是一通删除观看记录。删了十几个的时候发现删不掉了,小草定睛一看焦点丢失了,哇,终于复现了。小草又尝试点了一下观看记录,焦点又出来了,再次删除十几个的时候,焦点又不丢失了。小草反复用试了几次,再次删除的时候,又出现了一次焦点丢失。虽然没有找到焦点丢失的规律,但是小草觉得可以在修复版本上验证试试了。
安装好修复版本后,小草同样制造了三十几个观看记录,一通操作猛如虎啊,反复试了好多次,都没有出现焦点丢失。终于验完了,小草心满意足的站起来想去外边溜达溜达。
不经意的一抬头,小草看到了"登陆"俩字,呃,刚才只验证了未登录的观看记录删除,没有验证登陆状态下观看记录的删除。
小草伸伸胳膊只好又坐下,继续测试。登陆成功后,登陆用户的观看记录里显示着未登录时的观看记录。"咦,未登录的观看记录也能带过来?",不管了,先验证问题再说吧。
小草仍然是制造了好多的观看记录,又是一通删除。有了之前操作的经验,小草这次操作的很快,删着删着,唉,用户咋退出登陆了?我刚才是登陆的呀!
小草又一次登陆用户,又是一通删除,呃,又被退出登陆了。再一次登陆用户,这次小草删一个看一次,删着删着,焦点跳到了登陆的按钮上,再继续之前操作删除的按键,用户被退出登陆了。
呃,出bug了。
【bug2 已登录用户连续删除观看记录,焦点跳转错误--焦点跳转到用户中心的"退出"按钮上】
写完bug,小草又看了一眼被退出登陆的观看记录,呃,刚才删掉的观看记录咋还在?小草又一次登陆,登陆账户下的已经删除的观看记录已经不在了。啥情况,难道是我眼花了?
这次小草在登陆状态下观看了一个视频A,用户的观看记录中显示最近的观看记录A、B、C、D。小草接着在观看记录中删除了视频A,退出了用户登陆。此时未登录的观看记录下仍显示了视频A。小草再一次登陆用户,观看记录记录中已无视频A,最近的观看记录显示 E、D、B、C。咦,观看记录的顺序怎么还变了?小草退出账户再次登录,观看记录的顺序显示为C、D、E、B。
【bug3 已登录用户连续删除观看记录后,退出登陆,已被删除的观看记录仍然显示】
【bug4 用户每次登陆时,观看记录顺序发生改变】
看到现象的小草满眼绕圈圈,这都是啥呀,赶紧去找树杈说明情况。
树杈问:"焦点是不是没丢失?"
小草苦笑着"嗯,焦点是没丢失,就是跳错位置了,bug3和bug4现在是啥情况呀?"
树杈解释说:“未登录状态的观看记录是记录在本地的,用户登录的时候观看记录也记录在本地了,每隔一段时间上传到服务后台,用户每次登录时会从后台拉取观看记录。可能是登录状态删除观看记录的时候没有清掉本地缓存,导致退出登录还存在观看记录。至于那个观看记录顺序的问题,我还得再看看。”
小草:"呃,未登录时的观看记录同步到登录状态下,登录状态的观看记录保存到本地,退出登录时也显示观看记录,这个逻辑是不是有点不对。未登录的观看记录和已登录的观看记录是不是应该分开处理?"
树杈:"这个实现逻辑是我自己想的,需求当时没说"
小草:"呃,好吧,这块逻辑我找需求问一下。"
小草又找到树根:"树根,《视频奇迹》的用户观看记录的逻辑是什么样的?"
树根:"这都多久了,还问这个逻辑,需求里有啊。"
小草:"呃,我这边没接到过需求,你把需求发给我下吧。开发的实现逻辑是未登录的观看记录会同步给已登录的用户,这个逻辑是对的么?"
树根:"大树没给你们发需求么?等会我发给你,未登录的观看记录是未登录的,已登录的是已登录,不混一起。"
小草:"嗯嗯,我等你需求文档。"
拿到需求文档后,小草一通翻,发现观看记录这块的需求,只有一行字。
小草把截图发给了树根,"树根,用户的观看记录在需求里没有详细的逻辑啊。"
树根:"啊,那等我回头写上吧。"
小草:"嗯,好的。还有就是开发现在的实现逻辑和你刚才说的不一样,回头你给开发同步一下吧。"
树根:"你直接提bug,让他改就行了。"
小草:"呃,我提bug也行,回头问题指给你,你给备注完了指给开发。或者需求文档补完了给我,我再提bug。"
树根:"那么麻烦干啥,你直接提呗"
小草:"呃,我不怕麻烦。"
树根:"我去找大树说一下吧。"
小草:"嗯嗯,回头的处理结果告诉我一下。"
小草挂了电话,找到了领导,把测试情况给领导说了一下。
领导说:"嗯,给大树、树根、树杈发邮件,写上现在的bug,要求下次测试的时候把补好的需求文档给过来。"
后续
bug2产生原因:
👉研发在焦点丢失后强制恢复焦点落焦,落错了位置。
bug3产生原因:
👉观看记录未按登录状态区分。
bug3产生原因:
👉后台缺少观看记录的时间字段,每次用户登陆,重新从服务端拉取数据,终端无法按观看记录的时间进行排序。
小草的总结
1. 环境准备、需求资料、测试周期、项目/问题背景,尽量多的收集信息;
2. 没进行分析的测试一定会漏测,测试前根据收集的信息尝试多分析;
3. 多找开发了解程序的实现机制,了解数据刷新/缓存机制;
4. 首次测试发现测试模块的问题较多时,找开发理清逻辑,找需求确认逻辑,减少bug反复修改的次数。
👆单击链接直达、长按咨询吴老师或公众号内回复“2”
无论上课或自学,
你首先需要准备:
每天 2 小时+的学习时间,
每天坚持写代码的习惯!
有投入才有产出,
10k+的涨幅需要 1 年以上的努力!
祝你成功!
光荣之路出品
2019年度测试现状报告
自动化测试的目标
测开必备-flask网站开发
IOS真机移动端App+H5混合自动化测试实战
产品测试规范
内推:阿里 | 测试开发
招聘QQ群:203715128