自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 ClickHouse

ClickHouse 是俄罗斯的 Yandex 于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL 查询实时生成分析数据报告。官网的介绍(https://clickhouse.tech/benchmark/dbms/)ClickHouse主要特点ROLAP(关系型的联机分析处理,和它一起比较的还有OLTP联机事务处理,我们常见的ERP,CRM系统就属于OLTP)在线实时查询完整的DBMS(关系数据库)列式存储(区别与HBase,ClickHouse

2021-09-26 20:15:55 133

原创 mongodb常用查询语句

mongodb常用查询语句1、查询主键db.collection.find({"_id" :ObjectId(“56063f17ade2f21f36b03133”)})2、用大于小于等于查询db.collection.find({“date”:{$lt:“2021-08-20”})$lt 小于$lte 小于或等于$gt 大于$gte 大于或等于KaTeX parse error: Expected '}', got 'EOF' at end of inp

2021-08-21 11:40:18 867

原创 list和linkedlist性能对比

list和linkedlistLinkedList是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.这些对比都是指数据量很大或者操作很频繁查询业务查询航班对计算时会先把各航班对政策都存到内存,计算完成后再释放,基本都是先新增再删除,性能上用linkedlist更优数组和数组列表都有一个重大的缺陷,这就是从数组的中间位置删除一个元素需要付出很大的代价,其原因是数组中处于被删除元素之后的所有元素都要向数组的前端移动。在数组的中间的位置插入一

2021-06-19 16:31:06 526

原创 功能异常测试

一、后端功能异常1、内存数据覆盖 全量覆盖,先全部删除,再重新导入: 新数据为空时是否执行删除覆盖动作;老最小价定时拉配置更新数据库 全部删除,还未导入那瞬间,业务是否允许,是否有问题,退改签CPU100%的原因 直接全部覆盖:删除的数据如何处理2、上线业务兼容异常 配置页新增必填字段/枚举,上线时该必填字段默认值处理3、系统依赖 某个非重要外部调用系统/接口挂了,是否影响主要功能,如降级平台挂了,查询也挂 某个重要外部数据源挂了/超时,是否有超时时间,以及备案

2021-06-19 16:25:43 683

原创 接口异常测试

一、入参异常1、关键字参数 将参数写为开发语言中的关键字,或某个参数值为开发语言中的关键字,接口是否兼容2、多或少参数验证 必填字段未传,非必填字段未传参数的值为空或NULL:兼容为空情况,为空给默认值,程序给对应的错误提示3、错误参数 参数大小写验证,参数拼写错误,参数的值任意填写,或者填写不存在的值,参数包含特殊字符4、字段类型 字段类型不对,可做转换的,不可做转换的5、长度不一致 入参填写不符合的长度进行验证,超过数据库设置的字段长度6、入参支持传多个值时,要考虑

2021-06-19 16:21:34 7155 2

原创 使用GC.GetTotalMemory(false)方法

新最小价监控内存之前是用的机器的内存(可能分配了但是没使用),这次想改成用准确的内存监控(底层GC.GetTotalMemory方法)GC.GetTotalMemory方法方法描述:获取目前所有受控代码分配的字节数。带有一个参数,bool值,用来标识是否先进行垃圾收集再计算字节数。命名空间:SystemAssembly:mscolib.dll方法签名:public static long GetTotalMemory(bool forceFullCollection)参数说明:forceF

2021-05-11 22:05:52 665

原创 Change Stream

什么是Change StreamChange Stream 是MongoDB用于实现变更追踪的解决方案,类似于关系数据库的触发器,但原理不完全相同:Change Stream触发器触发方式异步同步(事务保证)触发位置应用回调事件数据库触发器触发次数每个订阅事件的客户端1次(触发器)故障恢复从上次断点重新触发事务回滚Change Stream 实现原理Change Stream 是基于oplog实现的。它在oplog上开启一个taila.

2021-03-27 15:29:24 570 2

原创 MQ异常测试

1、MQ消息体中某些必填参数为NULL,或者全部必填为NULL,字段类型、长度是否不符合约定2、MQ消息体中参数位置错误3、消息重复发送,只消费一条 —幂等性一般根据消息内容中唯一标识来去重4、消息到达顺序不一致,导致业务异常比如业务是有先后顺序的案例1:订单下单后再取消,如果先收到取消的消息,再收到下单消息,就会有问题案例2:一条政策新增后马上删除,政策同步时,政策删除的消息先到达,新增的消息后到,就会导致最小价该条政策没删除,只能等全量同步的时候再删除5、消息发送失败,重试次数1)Pr

2021-03-14 15:29:21 772

原创 MongoDB聚合查询

2021-01-24 19:50:06 81

原创 MongoDB介绍

MongDB是一个以JSON为数据模型的文档数据库,横向扩展可以支撑很大数据量和并发MongoDB和MySQL的区别MongoDB术语Mongodb的优点与不足(1)Mongodb的不足之处1、在集群分片中的数据分布不均匀2、单机可靠性比较差3、大数据量持续插入,写入性能有较大波动4、磁盘空间占用比较大(2)Mongodb的过人之处1、无模式2、查询与索引方式灵活,是最像SQL的Nosql3、支持复制集、主备、互为主备、自动分片等特性...

2021-01-24 19:45:06 63

原创 redis异常测试

在使用redis组件时,一般测试KEY是否新增成功,KEY是否更新成功,KEY是否删除成功,KEY是否设置过期时间除此之外还需要考虑一些异常场景比如KEY是否丢失,KEY存失败如何处理,KEY丢失和删除如何区别出来,如果KEY无过期时间,是否数据是否需要做RDB和AOF持久化,redis重启或者故障时数据是否需要保持。业务上调redis异常,是否有实时接口或者数据库查询KEY丢失和删除区分很多时候开发设计时,删除某个KEY时,直接就把KEY删掉,而KEY丢失时也是找不到KEY,其实设计时,可以删除

2021-01-10 20:49:35 434

原创 实时计算测试

实时计算:消费到MQ消息调接口查相关数据或者直接redis对应字段计数+1比如机票创单数据,线上收到创单消息后调如来统计接口查询到对应的memberid,redis里面对应的fileld字段cds计数+1如果消费线上已有消息,可以直接模拟MQ发消息测试实时计算实时计算测试流程一、实时计算测试1、git代码review2、MQ topic,tag,消息体确认3、是否调用接口确认4、实时+1测试: 是否+1测试 字段是否正确测试二、上线方案测试1)全量+实时上线方案(新的消费组)

2020-12-26 22:05:24 285 1

原创 数据搬运测试

离线数据搬运工具一般分2种Xdata和SparkXdata只是一个导入工具,无逻辑处理Spark支持数据微处理后再批量导入下面介绍离线数据清洗后如何搬运到redis或者Hbase中:1、检查配置主要配置测试,HDFS数据源路径,数据分隔符需要和建表语句中一致使用desc可以,查看表结构,使用describe formatted 可以查看表的详细结构,使用show create talbe可以查看建表语句desc app_tabledescribe formatted app_tablesh

2020-12-26 22:02:59 225

原创 Flink流式计算测试

流式计算框架有Strom,Spark,Flink目前Spark主要应用于离线数据批量导入,相比于XDATA导入工具是有逻辑处理的,微批处理能力不错;Strom主要应用于MQ的实时消费(push过来的数据),来一条数据处理一条数据,实时性比较好Flink大数据的新趋势,功能强大,批处理和实时处理,丰富的窗口功能:checkpoint:保证数据不丢失offset:每一条消息有个位置标记以便于系统出故障时可以重新消费,flink内存:统计计算Event time (事件时间) :印刷时间 比如

2020-12-26 21:49:31 585

原创 Hive离线数据清洗测试

Hive是基于Hadoop的一个数据仓库工具(离线),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。主要包括数据开发、数据运维、数据仓库,快速取数测试前准备工作1、离线数据平台权限申请:申请离线开发平台,数据仓库,快速取数的权限,以及查看sql脚本的权限2、从数据开发得到清洗的项目ID,任务ID,最终的HIVE表名,申请对应表的数据权限,数据搬运任务ID,搬运REDIS/HBASE的对应字段文档离线清洗测试要点1、清洗逻辑确认,遍历清洗逻辑是否正确,是否和需求一致2、revi

2020-12-26 21:45:16 1174

原创 代码夹带

测试过程中会遇到代码夹带引起线上问题代码夹带分2类1、开发由于拉错分支或者代码管理混乱,导致提交其他任务未开发完成的代码,且不知情2、开发私自夹带,优化代码解决方案:1、codereview严格把控提交代码,针对提交代码进行review;解决冲突代码review,以防干掉代码,或者多了代码2、开发流程和分支控制严格要求开发一个任务一个开发分支,不能多个任务用同一个分支3、测试流程控制发现代码夹带,开发未提前告知的,可以要求剥离代码;提前告知的,可以放行测试...

2020-12-26 16:18:05 415

原创 精准测试

看完精准测试之路和在网上找了一些资料,对精准测试做一些总结测试过程中总是遇到很多现实问题导致回归测试范围太广,质量不能保证,上线有遗漏;为此我们有的依靠自动化测试,个人通过精准测试缩减测试范围,总结一些经验虽然以上方法测试效率和精准度上有很大提升,通过跟开发沟通代码设计和实现,以及影响范围,缩减了测试范围,更精准测试。但这些大多还是沟通和review来的,且是建立在业务熟悉基础之上,如何让一个业务不是很熟悉的可以精准测试,实现线上精准自动化,以下是一些思路精准测试由软件去采集测试过程执行的代码逻

2020-12-26 16:08:32 2444

原创 测试左移实践和总结

一、测试左移简介测试左移,是一种测试的思想,顾名思义就是让测试的活动向前端推动,也叫测试前置。尽早的测试介入,尽早的发现测试问题,可以从产品流程规范和测试效率的提升保证测试左移的效果。测试左移思想是"第一时间发现缺陷,第一时间解决",目的是在测试过程中降低缺陷修复的成本,且在测试后期可以更灵活的进行测试资源再分配。二、测试左移各阶段实现1、需求阶段1)需求深度“理解”A、需求必要性很少有人在这方面提出质疑,需求真的是否有必要,是否还其它的方式能够更好的达到目标?如果不做这个需求会有什么样的影

2020-08-15 09:48:24 1517

原创 性能测试准备和方案

一、性能测试准备工作1、理解业务架构 画出业务架构调用关系图1)是否有DB,Redis,是否有第三方接口依赖2)接口调用链接口是读还是写,哪些是影响性能的变参,返回值2、测试环境 线上:影响正常业务的风险,单机器压测还是多台机器 压测,是否需要做隔离,缓存是否需要关闭等 预发:评估预发环境和线上环境的差异,预发压测结果的可用性,尽量保证预发环境和线上环境相似(比如需要造数据保证未来数据量)如果只是机器配置不一样,线上性能则可根据预发环境性能结果进行大概换算。找到测试环境和生产环境的

2020-08-09 17:57:25 340

原创 性能测试如何进行需求分析

一、性能测试需求分类二、分析性能需求的合理性1、查看业务系统目前的PV/UV;PV(Page View):用户访问页面的量。(此参数用来分析平均每秒有多少用户访问页面); UV(User View):用户访问量每秒用户访问量:UV/8/36002、评估未来业务1)“年业务量”的主要影响到的是系统的容量也就是磁盘;2)“日业务量”影响到的是一个系统能不能撑得住,会不会导致用户体验的下降和用户的流失;3)“小时峰值业务量”对于计算机系统其实尤为重要,但相对比较容易计算,因为一天的小时峰值往往

2020-08-09 17:20:37 1815

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除