订单搜索分页失效的教训:怠惰必受惩罚

背景

2018年8月21日,订单搜索发布导致订单搜索分页失效。该发布有三个变更:1. 新增一个带详情的订单列表接口;2. 按照订单状态搜索的索引分流; 3. 支持自定义的from传参。 第三个变更只有一行代码,更像是搭了个顺风车, 但正是这行代码,导致搜索分页失效,整个发布失败,最终回滚。

BUG分析

主要代码BUG 如下所示:

只是增加了一个 from 是否为空的判断。 看上去没有问题,可是如果构造器里初始化了 from ,再设置 page,那么新的 page 就不会生效。

反思

为什么没有检测出这个BUG呢?

虽然我通过 curl 测试了 from 的自定义传参没有问题,可是正好绕过了Java构造器初始化的过程,没有测出来。

  1. 这个单测没加;虽然我几次想加,可是不知有种神秘的力量阻止了我;可能嫌变更太微小。
  2. 没有上预发去回归下分页能力。当时确实有点怠惰。
  3. 测试带详情的列表接口和状态分流索引耗费我更大的精力,对这个重视不足。

一个教训是: 合并发布也要讲究节奏,不能随便搭车。如果因为小的细节处理不当,影响了整体发布,那真是无以言表。

更大的教训是: 怠惰省去了几分钟的测试和回归时间,结果却消耗了两个多小时用来发布、回滚、重新发布,得不偿失,还险些造成故障。正应了那句话:

怠惰必受罚, 勿以微小而不慎。

避免

  1. 增加密集接口测试用例(主动检测);
  2. 增强预发环境的订单搜索对比引擎检查(被动检测);
  3. 合并发布要慎重,要有节奏和计划,不能随意搭车,尤其是项目发布;
  4. 任何微小改动,都必须严格单测和接口测试,预发回归,不可轻忽怠惰。

原文地址:https://www.cnblogs.com/lovesqcc/p/9537542.html

时间: 2024-10-12 07:51:54

订单搜索分页失效的教训:怠惰必受惩罚的相关文章

SpringMVC分页和搜索分页

分页使我们经常需要使用的功能,昨天在Spring MVC中实现了简单的分页操作和搜索分页,在此记录一下.使用的框架为(MyBatis+SpringMVC+Spring). 首先我们需要一个分页的工具类: 1.分页 import java.io.Serializable; /** * 分页 */ public class Page implements Serializable { private static final long serialVersionUID = -319804844964

SSM框架——实现分页和搜索分页

登录|注册     在路上 在路上,要懂得积累:在路上,要学会放下:我在路上!Stay hungry,Stay foolish. 目录视图 摘要视图 订阅 [公告]博客系统优化升级     [收藏]Html5 精品资源汇集     博乐招募开始啦 SSM框架——实现分页和搜索分页 标签: springMVC分页搜索分页mybatisssm 2014-05-21 11:09 5517人阅读 评论(9) 收藏 举报 分类: J2EE(9) 版权声明:本文为博主原创文章,欢迎转载,请注明地址. 目录(

02 - Unit08:搜索笔记功能、搜索分页、处理插入数据库乱码问题

搜索笔记功能 按键监听事件 $("#search_note").keydown(function(event){ var code=event.keyCode; if(code==13){ 请求发送 } }) select * from cnshare cnshare_title like '%' 发送Ajax请求 事件绑定:键盘监听事件(keydown) 获取参数:keyword,作为模糊查询的基础 发送请求:/share/find.do 服务器处理 ShareController.

Select2 在jquery UI Dialog 搜索项失效且不能focus到搜索框解决方案

今天在项目到遇到一个select2插件在jquery UI Dialog 不能focus到搜索框的问题,后来在js 代码中加入(位置可以自己选 ,我选的位置是select2.min.js 后面,因为很多地方都用到,不用针对一个一个功能去修改): $.ui.dialog.prototype._allowInteraction = function(e) {     return !!$(e.target).closest('.ui-dialog, .ui-datepicker, .select2-

AJAX实现分页--模拟百度搜索分页

第一部分:效果与分析 1.百度分页组件: 2.自己实现的分页: 3.分析: 百度搜索分页,如果总页数大于10,用户最多只能看到10页内容,不足10页显示全部,当点击下一页时,数字页标向前移动一个单位,当点击上一页时向后移动一个单位. 第二部分:后台实现: 1.实现思路: 后台的处理思想是这样的,通过AJAX向后台发送请求,携带一个分页对象PageBean传过去,查询完毕后返回一个新的PageBean对象. 前台传入的PageBean对象参数: 属性 名称 是否必须 默认值 pageSize 每页

【php】thinkphp以post方式查询时分页失效的解决方法

好久没有写博客了,最近说实话有点忙,各个项目都需要改bug.昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢博客园大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进行下一页的,这样查询条件就没有传入后台,导致

SharePoint 搜索功能失效

今天继续跟大家分享一个 SharePoint的故障问题,是关于 SharePoint 搜索功能失效的一个问题. 有一天,我们突然发现,SharePoint 2016的搜索功能无法使用了,如下图 然后在服务器的系统日志里面看到了大量的报错. 其实遇到这个问题,我们第一时间都会想到先去检查 Search 服务 我们打开计算机的 services.msc 服务管理面,查看下面两项服务是否启动. 然后登陆SharePoint 管理控制台来查看应用服务 检查一下 Search Service Applic

S/4HANA和CRM Fiori应用的搜索分页实现

在我的博客Paging Implementation in S/4HANA for Customer Management 我介绍了S/4HANA for Customer Management里采用WebClient UI技术实现的UI上的搜索分页实现. 那么S/4HANA和CRM里原生的Fiori应用,其搜索分页又是如何实现的? 这篇博客分别选取S/4HANA里的Product Master,以及CRM里的My Opportunities这两个应用为例来介绍. S/4HANA Fiori应用

SAP UI 搜索分页技术

搜索分页技术往往和另一个术语Lazy Loading(懒加载)联系起来.今天由Jerry首先介绍S/4HANA,CRM Fiori和S4CRM应用里的UI搜索分页的实现原理.后半部分由SAP成都研究院菜园子小哥王聪向您介绍Twitter的懒加载实现. 关于王聪的背景介绍,您可以参考他的前一篇文章:SAP成都研究院非典型程序猿,菜园子小哥:当我用UI5诊断工具时我用些什么. S/4HANA Fiori应用搜索分页实现原理 以S/4HANA Product Master Fiori应用为例,如果什么