其他
一个数据库死锁竟然被测试发现了,这你敢信
Tech导读
在软件开发的复杂世界中,数据库死锁往往是隐藏在数据操作深处的隐患,它们可能在任何时候无声无息地破坏系统的稳定性。在最新的测试中,测试工程师竟然意外发现了一个潜伏已久的数据库死锁问题。这个发现不仅展示了细致测试的重要性,也提醒我们即使是看似不起眼的系统异常,也可能是潜在大问题的冰山一角。在本文中,我们将深入探讨这个死锁是如何被发现的,以及我们可以从中学到的宝贵经验。
导读
在软件开发的复杂世界中,数据库死锁往往是隐藏在数据操作深处的隐患,它们可能在任何时候无声无息地破坏系统的稳定性。在最新的测试中,测试工程师竟然意外发现了一个潜伏已久的数据库死锁问题。这个发现不仅展示了细致测试的重要性,也提醒我们即使是看似不起眼的系统异常,也可能是潜在大问题的冰山一角。在本文中,我们将深入探讨这个死锁是如何被发现的,以及我们可以从中学到的宝贵经验。01 背景
在今年的敏捷团队建设中,我通过Suite执行器实现了一键自动化单元测试。Juint除了Suite执行器还有哪些执行器呢?由此我的Runner探索之旅开始了!
测试是通过什么方式发现呢?
还要从前一段时间开始说起。
A:理赔系统上线后,不能进行生产验证,作为测试你要怎么避免生产问题呢
B:目前对生产的验证只能联系业务人员进行生产验证
A:那我们测试这边调研一下,看一下有什么方法
B:好的,我去看一下有没有适合的集团工具可以对生产异常数据进行统计
就是这样的一个对话,让我发现了EasyBI工具,和这个工具的缘分就开始了!
首先,给大家介绍一个这个工具,它可以做什么呢?它可以通过连接生产数据库或者接口开发的形式进行生产数据统计,以聚合表、透视表、柱状图、折线图、雷达图等进行图形化配置,并将整个数据情况都汇总到统一的监控调度中心。02 EasyBI工具详细操作
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目标页面展示到屏幕。
把开发的接口在EasyBI工具平台(EasyBI (jd.com))进行配置
创建应用,把配置好的接口数据以聚合表、柱状图、等进行图形化配置,以该形式展示监控数据
配置好应用后,对此应用进行邮件订阅,定时任务推送生产数据监控的结果
错误信息统计接口
1.1 通过对理赔不同的错误信息进行分类,统计出当天、本周、上周和上上周各个错误信息的个数,通过数据对比能够及时发现 当前系统的稳定性、理赔数据正确性、业务逻辑校验合理性 1.2 理赔不同的错误信息统计通过easyBI平台明细表分类展示 1.3 通过理赔错误类型及时判断是正常业务校验或者是异常问题
周失败和成功统计,日成功和失败数据接口
2.1 针对团险的主流产品、个险的主流产品、理赔系统进行连续一周或者当天的理赔成功数据和错误数据统计,通过对比及时发现主流产品理赔业务的正确性,保证客户理赔的时效性 2.2 周数据根据商品计划在easyBI平台以柱状图展示,日数据根据商品计划在easyBI平台以条形图展示
发现后和领导同步
A:哇哦!监控做的不错
B:会继续加油的
03
理解,首先 MCube 会依据模板缓存状态判断是否需要网络获取最新模板,当获取到模板后进行模板加载,加载阶段会将产物转换为视图树的结构,转换完成后将通过表达式引擎解析表达式并取得正确的值,通过事件解析引擎解析用户自定义事件并完成事件的绑定,完成解析赋值以及事件绑定后进行视图的渲染,最终将目
基于检测到的数据库死锁问题,我发现不能实时的接收到异常数据的统计和监控,那么要怎么实时地处理呢?
分库分表之拆分键设计
求分享
求点赞
求在看