最近在工作中,发生了一件“大事”。什么大事?漏测了一个bug!!

作为一个测试工程师,漏测是一件让人非常尴尬的事情。尤其是,你的领导正在严抓这个问题的时候,感觉就是刀口舔血一般。。开周会的时候,全组都在讨论你的这个漏测bug,你的领导、你的领导的领导,都在看这个漏测的本因。

可以深刻的感受到,测试很简单,漏测很严重!

那回归正题,咱们来看看博主漏测的是一个什么样的bug,以后你遇到该类似的问题,如何不踩坑。痛定思痛,博主写了这样的一篇文章,作为对自己的反省。

问题现象:“总标题+6张卡片”的页面A先滑动某一张卡片至不可见,再次切换tab到“总标题+6张卡片”的页面B,从左向右滑动,页面B的卡片“总标题”随着卡片的滑动而消失不见了。

前提:(商店卡片的复用机制)
商店的列表横划卡片存在相同卡片(可以理解为相同的UI样式,但是具体数据不同)复用机制(即上下滑动时,新划出来的卡片会复用划出去的相同的卡片),
这种复用通过key, value(键值对)的方式设置到复用缓存池中,当需要复用时,通过特定的key去获取。

原因分析:
1、出问题的新卡片A存在一张数据结构和功能类似的老卡片B(UI上有一些差别,但是基本结构一致)
2、在实现新卡片的时候直接复制了老卡片B的部分代码,这导致新卡片和老卡片使用了同一个key。
3、这会导致在老卡片B中已经对卡片UI样式做了特殊处理(实际就是隐藏了标题栏部分)后划出不可见时,会放进缓存池中。
4、这时从缓存池中取出时,放到新卡片A时(新卡片需要标题),就会出现UI问题。

最根本的原因是,缺少了对异常场景的考虑:

1、新旧卡片都配置在同一个页面的时候,位置太接近,导致这种异常场景没有出现(如同一样式的卡片配置在一起,两个卡片的位置不可太接近,前者需能滑动到页面不可见,再去滑动后面

的卡片,该异常场景才会出来),

2、新旧卡片需配置在不同的页面,同一样式的卡片,需配置在不同的页面,前卡片需滑动至页面不可见,再切换tab去滑动第二个卡片。

由于以上两种异常场景都没有考虑到,所以直接漏测了这个问题。

解决措施:
1、客户端设计方案优化,不用自定义的字符串作为key,使用卡片code作为key(code全局唯一,并且每张卡片不一样)

预防措施:

1、后续在开发基于老卡片开发新卡片时,开发需要标注说明,测试两种卡片同时存在时,会不会出现问题。

2、增加对新旧功能组合的异常场景梳理(比如这次卡片的场景,我们对位置进行梳理:新旧卡片配置在同一个页面,但是位置很接近的情况;新旧卡片配置在同一个页面,位置相隔比较远的情况;新旧卡片配置在不同页面的情况。

同时,我们可以对卡片的样式进行梳理:新卡片+新卡片组合;新卡片+旧卡片组合;旧卡片+旧卡片组合;同一个场景)

对于我以上给出的相对应的测试场景和预防测试,可能对于有涉及到测试图片卡片的同学有一些帮助。当然同事也给相对应的开发小哥哥提了个醒,复制代码的时候,考虑的东西也很多噢。

欢迎大家的评论,或者给出更多的见解哟,博主都接受。哈哈

对于“卡片复用”引来的一场尴尬。。。相关推荐

  1. 就业关注:“80年代大学生”的十大职场尴尬

    http://blog.csdn.net/lujisheng/archive/2006/08/11/1051075.aspx

  2. 当代职场超尴尬瞬间,你肯定都中

    阅读本文需要 2.1分钟 人在职场走,谁能不出糗? 当代职场人一定都经历过很多职场尴尬,比如: 会议室里,小王正在投影讲方案,忽然他的电脑屏幕右上角跳出女朋友的微信消息: "还加班呢?你们老 ...

  3. [SDOI2019] 热闹的聚会与尴尬的聚会

    problem luogu-P5361 他的联系薄上有 nnn 位好友,他们两两之间或者互相认识,或者互相不认识. 小 Q 希望在周六办一个热闹的聚会,再在周日办一个尴尬的聚会. 一场热闹度为 ppp ...

  4. SAAS平台运营如何在职场夹缝生存

    平台运营在企业中的角色 活动的长期目的是品牌,短期目的是转化,当品牌势能足够,转化活动的成本就会降低,产品的品牌溢价也会体现. 不论B端和C端运营,工作逻辑是一样的,都是挖掘用户的痛点.开发产品的功能 ...

  5. 你的圈子,已经暴露了你的阶层

    <非你莫属>的一期节目中,来了一位24岁的求职者. 他说自己具有天生的交际能力,认识很多牛人大佬,包括董明珠.俞敏洪. 现场的老板们都表示怀疑,主持人提议: 既然你说你是董明珠的朋友,那不 ...

  6. 如何动态的生成某种类型的集合呢_知乎画报」的移动端动态化工程实践

    本文基于移动端动态化方案在知乎原生推广落地页「知乎画报」上的实践经验,对该方案技术升级过程中的思考以及技术关键细节做了详尽的解读. 商业化是互联网公司发展的重要阶段,App 端的商业广告业务对移动端动 ...

  7. 如何从数据库中筛选出达成指定里程碑节点的项目_公测首发 | 支持API的连接型智能多维表格,「vika维格表」如何让数字化真正成为生产力?...

    △ 是新朋友吗?记得先点上面 关注我哦~ 维格星球 http://vika.cn 市面上的软件工具那么多,但却很少可以做好连接和整合,真正帮助我们更好地工作和生活. 毕竟,对于使用软件提升「生产力」, ...

  8. ppt算是php的一种吗,ppt放映快捷键是什么

    常用PPT放映方式有哪几种? 一般在演示一个PPT文档的时候,通常有两种:"普通放映模式"."演示者视图". 1.普通放映模式 95%的人都知道这种放映模式,因 ...

  9. 引领潮流云电视机遇与挑战并现

    云电视迷雾  电视在人们眼中一直是传统的.全家人在客厅共享的主要视听资源,多少年来承载着人们的悲喜苦乐.人们对电视逐渐形成了一种依赖式的情感,通过电视节目找到共同话题,让我们的生活更加丰富.更加生动. ...

最新文章

  1. 使用读写锁解决读者-写者问题
  2. 机器学习算法库scikit-learn的安装
  3. python教程txt免费下载-python编程从入门到实践PDF电子书教程免费下载
  4. [LeetCode]113.Path Sum II
  5. CSDN专访云信阙杭宁:以16年技术积累打造稳定IM云服务
  6. linux VIRT内存占太大,Java top VIRT 内存占用有关问题
  7. 前端通信:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码(改迭代已作废,移步迭代10)...
  8. mysql8.0免安教程图解,mysql 8.0.21免安装版配置方法图文教程
  9. spring boot—集成log4j2日志框架
  10. 配置数据库连接池的时候。
  11. C++----为什么不让用using namespace std
  12. SVM多分类器的实现
  13. 怎样把PDF转换成PPT?迅捷PDF转换器来助力
  14. 【ArchSummit】Web3.0去中心化预言机网络技术剖析
  15. Linux安装redis yum安装redis
  16. 河北工业大学数据挖掘实验四 贝叶斯决策分类算法
  17. 攻防世界MISC高手区Avatar
  18. IC卡(智能卡)基础知识简介
  19. 有了面容解锁忘记了锁屏密码
  20. 数字孪生石油化工产业实施方案

热门文章

  1. Linux制作python的AWS-KCL的基础镜像,Dockerfile文件
  2. mysql怎么输出列表的次序_MySQL metalock的一些技巧(写大于读的案例,以及获得锁的顺序)...
  3. 小学二年级计算机课游戏,小学二年级适合玩的课堂游戏
  4. JAVA核心知识点--HttpClient获取302响应中的Location头信息
  5. 【ML】Markov Chain Monte Carlo(MCMC)---Slice sampler(切片采样)和Hierarchical Models(层次模型)
  6. 系统分析师近几年论文走向
  7. linux的文件和文件夹操作
  8. Zotero6.0来了,内容丰富,适合初学者(插件安装,翻译器更新)
  9. Xcode7报App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insec
  10. matlab 仿射变换函数,matlab 中的仿射变换函数