订单搜索分页失效的教训:怠惰必受惩罚
背景
2018年8月21日,订单搜索发布导致订单搜索分页失效。该发布有三个变更:1. 新增一个带详情的订单列表接口;2. 按照订单状态搜索的索引分流; 3. 支持自定义的from传参。 第三个变更只有一行代码,更像是搭了个顺风车, 但正是这行代码,导致搜索分页失效,整个发布失败,最终回滚。
BUG分析
主要代码BUG 如下所示:
只是增加了一个 from 是否为空的判断。 看上去没有问题,可是如果构造器里初始化了 from ,再设置 page,那么新的 page 就不会生效。
反思
为什么没有检测出这个BUG呢?
虽然我通过 curl 测试了 from 的自定义传参没有问题,可是正好绕过了Java构造器初始化的过程,没有测出来。
- 这个单测没加;虽然我几次想加,可是不知有种神秘的力量阻止了我;可能嫌变更太微小。
- 没有上预发去回归下分页能力。当时确实有点怠惰。
- 测试带详情的列表接口和状态分流索引耗费我更大的精力,对这个重视不足。
一个教训是: 合并发布也要讲究节奏,不能随便搭车。如果因为小的细节处理不当,影响了整体发布,那真是无以言表。
更大的教训是: 怠惰省去了几分钟的测试和回归时间,结果却消耗了两个多小时用来发布、回滚、重新发布,得不偿失,还险些造成故障。正应了那句话:
怠惰必受罚, 勿以微小而不慎。
避免
- 增加密集接口测试用例(主动检测);
- 增强预发环境的订单搜索对比引擎检查(被动检测);
- 合并发布要慎重,要有节奏和计划,不能随意搭车,尤其是项目发布;
- 任何微小改动,都必须严格单测和接口测试,预发回归,不可轻忽怠惰。
转载于:https://www.cnblogs.com/lovesqcc/p/9537542.html
订单搜索分页失效的教训:怠惰必受惩罚相关推荐
- ExtJs 备忘录(6)—— GirdPanl表格(二) [ 搜索分页 ]
前言 近些天对于厚积薄发有深刻的理解,尤其是月末那两天,很想再写两篇文章,保持每周一篇--每月至少四篇以上的文章.写文章分两种情况:一种情况是已经积累了许多经验,写起来轻松且得心应手,内容和系列文章容 ...
- SharePoint 搜索功能失效
今天继续跟大家分享一个 SharePoint的故障问题,是关于 SharePoint 搜索功能失效的一个问题. 有一天,我们突然发现,SharePoint 2016的搜索功能无法使用了,如下图 然后在 ...
- SAP UI 搜索分页技术
搜索分页技术往往和另一个术语Lazy Loading(懒加载)联系起来.今天由Jerry首先介绍S/4HANA,CRM Fiori和S4CRM应用里的UI搜索分页的实现原理.后半部分由SAP成都研究院 ...
- S/4HANA和CRM Fiori应用的搜索分页实现
在我的博客Paging Implementation in S/4HANA for Customer Management 我介绍了S/4HANA for Customer Management里采用 ...
- jquery插件dataTables(dataTables在显示表格的时候,果然是个好东西,支持排序/搜索/分页/...)
jquery插件dataTables dataTables在显示表格的时候,支持排序/搜索/分页/... 官网:http://www.datatables.net/ demo: [javascript ...
- windows win7电脑搜索功能失效怎么修复
win7系统是一款在不同环境中也可以稳定运行的优秀系统.但最近很多的小伙伴们都反应自己的win7搜索没反应了!今天小编为大家带来的就是win7电脑搜索功能失效的修复方法一起来看看吧. win7电脑搜索 ...
- win7搜索功能失效/win7搜索功能不能使用
前几天更新了下系统,是用360更新的(也可能是中毒了)今天突然发现win7的开始菜单中的搜索功能失效了,我的电脑里面的搜索功能也失效了,同时附加的现象还有开始菜单中的控制面板点不开,原因到现在还没找到 ...
- layui 数据表格的搜索分页功能的实现
最近在使用layui+larave做项目,需要使用到table的分页+搜索的功能,一开始没有什么思路,从网上找了几个,用在自己这里并不正确,不知是自己有哪里写错了,还是这几个是不正确,下面是自己亲自试 ...
- windows10无法搜索计算机,win10搜索功能失效用不了如何解决|win10搜索功能搜不了文件的解决方法...
win10正式版系统电脑搜索功能便于查找文件,精准高效,毕竟在茫茫系统中找寻所需文件并不是一件容易的事情.有时候运气不好,遇到win10电脑搜索功能失效,无法使用的情况怎么办?们要如何修复它?其实要解 ...
最新文章
- 将sqlite查询结果导入到文本文件
- Rose Study
- 未来区块链技术将赋能多个领域促进全球经济发展
- centos ntfs-3g 安装和使用
- ABCpdf.NET 的简易使用指南
- mysql数据库连接池_MySql数据库连接池
- maven坐标Dependencies和Exclusions详解
- SpringBoot项目从Git拉取代码并完成编译打包启动的sh自动脚本
- hihocoder216周:贪心或二分
- python 报错 wxPyDeprecationWarning: Using deprecated class PySimpleApp.
- 【R语言教程】不一样的零基础教程,数据分析到论文写作一站式完成
- 写给非网工的CCNA教程(6)VLAN和802.1q协议
- 详细介绍如何从零开始制作51单片机控制的智能小车(一)———让小车动起来
- (最详细)红米手机4A的usb调试模式在哪里打开的教程
- java英文翻译_Java实现英文文本单词翻译器功能的简单实例
- mysql实验一:图书管理系统之建库建表
- iOS 自定义播放器
- MongoDB4.4版本源码部署分片集群
- Android开发指南
- 删除控制面板里面的java
热门文章
- 一张纸还能上天能救命?理工男宁愿放弃NASA百万年薪,也要回家折纸?!
- 天敏T2四核增强版ROOT方法
- 智能家居+云端服务器,“云端”上的智能家居 全面服务生活
- 音视频开发总结之一理论基础
- navicat64位和ql\sql64位连接oracle11g, 不安装oracle客户端,缺少oci.dll
- 全数字锁相环的基本原理
- 微软计算机电源怎么接,这个长得像电源插头的东西,真的是微软最新研发的迷你电脑?!...
- cd28v2虚拟服务器,科技知识:华为荣耀CD28v2路由器初始密码
- 【Pygame小游戏】神还原【欢乐无穷的双人坦克大战】小程序游戏,上手开玩~(附完整源码)
- Python爬虫入门——爬取贴吧图片