- 博客(331)
- 收藏
- 关注
原创 字节面试题:在线表格功能怎么实现?怎么测?
最近有小伙伴私信问我怎么不更新了,期待更新,甚是感动。简述下自己近况:还在干测试,最近忙活的事情大概是自动化测试、性能测试以及业务等等,主打一个啥活都干。正文:前阵子看到老张写的关于面试的文章,我突然想起来,我多年前面试字节时候,遇到的一个面试题,关于如何测试用例的。印象中好像第一次参加字节的面试,也没刷题练习,所以开始的算法题就没做好,导致后来的表现都不太好,所以这个设计用例的题目,也没回答好;今天当做是重新归纳总结一下。
2024-07-10 20:03:23 431
原创 Locust单机多核压测,以及主从节点的数据通信处理
脚本调试完后可以稳定运行,接下来就是测试的过程了,进行了服务器单节点、多节点负载能力的测试,水平拓展能力的测试,以及服务动态扩容、长时间高负载测试。这里可以做一些后置处理,我是简单起见,只是记录输出了本次测试用到了哪个号码段,这样我下次运行脚本的时候可以从后面的数据开始,最大化测试数据的使用,不浪费。,这样不同的 slave 节点接收的数据就可以放到队列里,运行的时候从队列里面取,用一个少一个,直到队列里的数据用完。这样,不同的 slave 节点脚步分配到的手机号段就是不同的了,解决测试数据重复的问题。
2023-11-01 20:16:25 409
原创 从互联网到车企做测试,什么体会?
互联网软件测试,能跨到车企做测试么?这是我之前在某个群里划水看到一位小伙伴提出过的问题,当时我并没有回答,不过这个主题我倒是记在了草稿里,因为我自己就是这样的经历,留着后面有时间写一些内容分享一下。今天是周末,依旧是烈日炎炎,既然宅在家里,那么就来聊聊我从互联网转到车企做测试的一些体会。一是算作自己的阶段小结,二也可以给有相关想法的盆友做个参考。
2023-08-24 08:11:06 352
原创 基于Locust实现MQTT协议服务的压测脚本
业务背景大概介绍一下,就是按照国标规定,车辆需要上传一些指定的数据到ZF的指定平台,同时车辆也会把数据传到企业云端服务上,于是乎就产生了一些性能需求。目前我们只是先简单的进行了一个性能场景的测试,就是评估目前服务是否能够支持,预期的最大同时在线车辆上传数据。经过评估,在线车辆数据按照预期的10倍来进行的,并且后面增加持续运行12h查看服务链路的稳定性。本篇并不是一个严谨的性能测试过程结果分享,主要是分享下关于mqtt协议服务的压测脚本的编写。
2023-03-24 09:49:54 742
原创 浅谈测试用例设计
最近干的最多的事情就是设计测试用例、评审测试用例了,于是我不禁又想到了一个经典的问题:如何设计出优秀的测试用例?可能有些童鞋看到这个问题会有些不以为然,这有什么好想的?干个测试谁还不会设计测试用例?但是以我个人经历,以及一些接触来说,这个测试基本功确实不是那么容易做好的。可能很多人都觉得这个太基础了,往往就越容易忽略,而喜欢趋之若鹜的追求各种开发语言、自动化测试、测试平台这种上层建筑。在我看来,业务测试是基础,其他的各种技术栈都是用来提效的手段,主次是分明的。
2023-02-22 21:49:35 575
原创 2023关键词:挑战
未失踪人口回归…好久不见,不经意间拖更2个多月。今天周末,外面淅淅沥沥下着小雨,这种窝在床上的时刻最适合写点东西了。但是建议大家在办公或者写博客的时候尽量还是端正坐姿,我就是因为喜欢这样靠在床背上,长时间敲电脑导致我的腰…o(╥﹏╥)o今天没什么干货要分享,闲聊。
2023-02-12 11:43:45 500
原创 Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香
whistle(读音[ˈwɪsəl],拼音[wēisǒu]),是基于Node实现的跨平台web调试代理工具。主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用。不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式。目前我主要使用它来抓包手机APP,可以查看接口请求,以及做一些接口响应的替换等。
2022-11-21 19:05:49 1730
原创 【pytest官方文档】解读- 开发可pip安装的第三方插件
在上一篇的 hooks 函数分享中,开发了一个本地插件示例,其实已经算是在编写插件了。今天继续跟着官方文档学习更多知识点。一个插件包含一个或多个钩子函数,pytest 正是通过调用各种钩子组成的插件,实现了配置、搜集、运行和报告的所有方面的功能。内置插件_pytest外部插件setuptools第一个内置插件的路径在这里,有兴趣的可以看下。第三个我们也很熟悉了,像之前写fixture函数以及本地hooks函数插件,都是在中。第二个外部插件中提到的setuptools是什么呢?
2022-10-26 20:17:56 639
原创 【pytest官方文档】解读- 开发可pip安装的第三方插件
在上一篇的 hooks 函数分享中,开发了一个本地插件示例,其实已经算是在编写插件了。今天继续跟着官方文档学习更多知识点。一个插件包含一个或多个钩子函数,pytest 正是通过调用各种钩子组成的插件,实现了配置、搜集、运行和报告的所有方面的功能。通常 pytes t中的插件有如下 3 类:内置插件 : 从 pytest 内部的_pytest目录加载外部插件 : 通过setuptools...
2022-10-26 20:14:00 62
原创 MQTT协议快速了解
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议 上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。相较于HTTP在传统互联网应用中,HTTP被广泛应用。
2022-10-20 19:23:32 1612
原创 【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
简单来说,在 pytest 的代码中,预留出了一些函数供我们修改,以便来改变pytest工作方式,这些函数就是hooks函数,我们可以直接重写函数里的内容。比如,在 pytest代码路径中,可以看到 pytest 定义好的 hook 规范,方便我们在开发插件的时候参考规范来调用对应的hooks函数。
2022-10-14 09:28:57 795
原创 【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
上一节讲到如何安装和使用第三方插件,用法很简单。接下来解读下如何自己开发pytest插件。但是,由于一个插件包含一个或多个钩子函数开发而来,所以在具体开发插件之前还需要先学习hooks函数。一、什么是 hooks 函数简单来说,在 pytest 的代码中,预留出了一些函数供我们修改,以便来改变pytest工作方式,这些函数就是hooks函数,我们可以直接重写函数里的内容。比如,在 pyt...
2022-10-13 21:03:00 116
原创 【pytest官方文档】解读- 如何自定义mark标记,并将测试用例的数据传递给fixture函数
回到示例代码,我们可以先直接执行一下代码。测试是通过的(warning先忽略,因为没有注册自定义的mark),也就是说中的42是成功的带到了fixture函数中,经过函数中的处理后最后返回出来。其中的方法,是返回与名称fixt_data匹配的第一个mark,从最近的级别到更远的级别,比如从函数到模块级别。所以在这里,被找到的mark就是我们自定义的这个标记了。标记是使用工厂对象动态创建的,用于装饰器,所以我们可以用语法糖@直接使用即可。mark对象被创建之后,就被会收集起来,然后可以通过。
2022-09-06 09:44:22 667
原创 【测试经验向】提测质量差 + 测试工期压缩,我要怎么办?
写下这行标题,其实我的内心是崩溃的,因为还在等待bug修复开个玩笑,其实还好啦,作为一个快5年的测试中鸟,这点自我调节能力还是有的。新工作入职小半年,最近其实才陆续铺开工作。那这头一个开干的项目其实就是一个很简单的营销内容小程序,大概样子就是一个极简版大众点评or马蜂窝babala…核心无非就是前端页面展示后端接口吐出来的各种数据,但是即便如此,居然还是跟小伙伴提了100多个bug。那么这种简单项目却问题很多,都是因为啥呢?姑且来分析分析,当做一个简单的复盘好了。...
2022-08-30 19:22:40 771
原创 PKI体系快速了解
这是目前工作中遇到的一些知识点搜集整理。一、什么是 PKI首先,PKI(Public Key Infrastructure)是一个体系。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务...
2022-07-19 19:09:00 129
原创 PKI体系快速介绍
首先,PKI(PublicKeyInfrastructure)是一个体系。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。—百度百科说白了,PKI还是提供了彼此身份确认的服务,确保通信的安全。...
2022-07-19 18:52:46 3151
原创 【小程序自动化Minium】三、元素定位- WXSS 选择器的使用
上一章中讲到Page接口的与方法,其中有个必填参数就是,而 minium 正是通过它来定位元素的。对前端有过了解的童鞋,肯定对css选择器不陌生,。但是在小程序中用的是特有的格式,WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式,说白了就是用来决定 WXML 的组件应该怎么显示。为了适应广大的前端开发者,。同时为了更适合开发微信小程序,。因为不是完全一样的东西,所以小程序中的 wxss 。下面逐个看下不同选择器的用法。根据类名称选择元素,比如,就是选择所有拥
2022-07-08 08:16:02 1194
原创 【小程序自动化Minium】二、元素定位-Page接口中的 get_element() 与 get_elements()
小程序的框架中,是如何定位元素的呢?
2022-06-30 08:11:22 1995
原创 微信官方出品!小程序自动化框架 minium 分享预告
先交代一下背景主要是在我后续的工作规划里,还会纳入公司移动端的业务,小程序可能会首先呈现出来的产品。于是乎我去了解了一下小程序的开发(也有动动手的想法,暂时先搁置),后来又去搜了下小程序的自动化测试,发现比较知识比较零散。而且搜索引擎里反馈的各种博文质量也参差不齐,重复性也很高。于是我计划趁着现在还在前面准备阶段,亲自来整理一遍。那么为什么选择 minium首先,minium .........
2022-06-17 08:01:00 246
原创 【测试平台开发】23. 接口断言功能-保存接口断言和编辑回显
基于 springboot+vue 的测试平台(练手项目)开发继续更新。上一章开发了接口断言的前端,本章完成接口断言的保存。起初接口相关的断言数据想保存在单独的表里,后来觉得后续像接口另存为用例,运行测试等场景还得去关联查询,最后还是决定继续存放在保存接口信息表的request请求信息中。一、实现保存实现保存的话就简单了,因为我之前的接口request信息是放在 vuex 中,那么在st......
2022-06-16 08:14:00 1182
原创 Github Star 过万!用这款免费工具代替收费的Navicat,我看行
最近刚接手公司的新电脑,免不了又是一通环境安装。但是公司规定不能装破解软件,这就让我犯难了。代码编辑器什么都还好说,但是数据库管理工具,可谓是我最高频使用工具之一了。之前一直用的 navicat 在公司电脑上是不能继续用了,赶紧找找还有啥替代方案吧。最后发现了一款 github 开源工具Beekeeper Studio,该项目截止目前已经破万,赶紧试试。一、Beekeeper Stu......
2022-06-12 19:57:00 2557 2
原创 【测试平台开发】22. 接口断言功能-前端vue组件开发
基于 springboot+vue 的测试平台(练手项目)开发继续更新。接下来准备开发请求断言功能。关于这个功能要实现哪些需求,长什么样子,我参考了下其他优秀的业界工具,比如apifox、metersphere等。于是决定还是先紧着最常用的来开发:JSONPath、响应时间、文本,而这些当中,又以JSONPath为优先。老规矩,还是先看一下这个前端组件效果。一、组件的关系上面功能效果......
2022-05-25 22:22:00 644
原创 【测试平台开发】21. 完成发送接口请求显示响应头信息
基于 springboot+vue 的测试平台(练手项目)开发继续更新。在接口编辑页中点击发送接口请求,除了显示响应体外,还可以显示响应头等辅助信息,今天完成这个功能的开发。一、后端实现后端主要是修改一下处理接口发送请求的方法apiTestRun,之前这个方法返回的直接就是一个响应体,现在修改成返回更多的内容。如图所示,注释掉的部分是之前的返回。在 hutool 的 http 客户......
2022-05-17 12:08:00 438
原创 【测试平台开发】二十、完成编辑页发送接口请求功能
基于 springboot+vue 的测试平台(练手项目)开发继续更新。今天终于把已做的功能都重构完成了。其中前端又做了个小调整,就是入参动态增删的控件,本来我是3个tab复用一个组件,后来不断发现一些问题,最后我决定还是分开写吧。今天另一个重点是重做了编辑页发送接口请求的后端功能。这个功能重构之前是有的,但是现在我觉得之前那些做兼容不够。因为我最近在工作中接入飞书的一些开放API,发......
2022-05-15 20:32:00 176
原创 【测试开发】使用 Mybatis-Plus 的 BaseMapper 接口与 Service 接口
最近在工作开发中遇到一个批量新增修改的处理,我使用的是 mybatis-plus,但是在用的 BaseMapper 接口里是没有这个方法的,后来发现 Service 接口里有这个方法,今天整理一下这2种用法。一、使用 BaseMapper 接口MyBatis Plus 提供了通用的 Mapper 接口(即 BaseMapper 接口),该接口对应我们的 DAO 层。在该接口中,定义了我们常见......
2022-05-12 21:38:00 1714 2
原创 【测试平台开发】十九、前端vue重构 — computed、watch、组件通信等常用知识整理...
基于 springboot+vue 的测试平台开发继续更新。当前项目进度的前端重构已经完成了,在重构之余也对一些交互做了优化等。在本次的重构过程中感觉还是有不少收获,尤其是对于一些vue的前端知识的应用。今天不做具体的开发记录分享,整理一下过程中用到的一些vue知识点,结合实际项目代码举例,方便后续回顾,也供有需要的童鞋参考。主要可以分为 2 个大类:常规的、组件通信相关。一、常规知识点......
2022-05-10 09:27:00 156
原创 【测试平台开发】十八、vue组件化重构前端代码
基于 springboot+vue 的测试平台开发继续更新(人在魔都 T_T)。这期其实并不是一个详细的开发过程记录,主要还是针对本次前端重构来聊聊几个关注点。目前重构的总进度在80%,重构完的页面没什么变化,再回顾一下。一、为什么重构目前项目的功能开发重点还是在接口管理这一大块,内容多,任务重,可当我着手准备继续开发新功能的时候发现了个重大的问题。我之前接口相关的功能都写在一个vu......
2022-04-17 16:11:00 351
原创 【测试平台开发】十七、接口编辑页面实现下拉级联选择,绑定接口所属模块...
基于 springboot+vue 的测试平台开发继续更新。停更得有半年,最近待业家中没有理由不继续更新了。本来是打算做别的功能,但是我的重新调试环境的时候发现了bug,搞半天原来是因为没实现接口与模块的绑定,导致点击左侧模块树之后列表页就没数据。气死我了,那先来把这个坑填上。先看一下最后的功能效果动图。因为完善这个功能要涉及一些之前功能的改动,所以接下来以实际的开发修改过程来记录内容(......
2022-03-21 14:51:00 464
原创 RPC、HTTP、DSF、Dubbo,每个都眼熟,就是不知道有什么联系?
之前的面试经历中,除了经常被问到 HTTP 相关的知识外,还有被问过 http 与 rpc 的区别的。再加上工作中经常与公司的一些DSF应用打交道,于是我又会联想到 dubbo,那么今天要梳理的内容关键词就有了这些: http、rpc、dsf、dubbo 。一、HTTP 和 RPC首先,http 与 rpc 有什么区别这个问题不太严谨,因为这俩就不是一个层级的东西。HTTP这个大家太熟悉......
2022-02-27 11:42:00 1593
原创 【面试高频】cookie、session、token?看完再也不担心被问了
在以往的面试记录里,我又看到了一个多次被问到的知识点,那就是 cookie、session、token 的区别有哪些?如果现在来问你,不知道你能否说清楚呢?今天不仅仅是整理出这三者的区别,更重要的是能够真正去理解这三者之间的作用和联系。cookie、session、token三者联系在互联网里,一样事物的诞生往往是为了解决某种问题,这句话同样适用于此。其实说到底,cookie、sess......
2022-02-24 20:52:00 187
原创 【软件测试】如何梳理你测试的业务
在日常的测试工作中,不知道大家是否会有梳理自己测试业务的习惯。我个人觉得这个事情是值得做的,最好还可以培养成一个习惯。一、为什么要梳理业务?因为在业务测试中,作为测试人员,熟悉负责的业务是非常重要的,而通过阶段性的梳理总结,可以让你的业务知识系统化的沉淀下来。当被问起这个业务系统的测试重点在哪里?难点如何克服?为什么要这样设计等等问题,可以有条不紊的进行输出。又或者,当你任务需要交接,或......
2022-02-19 22:18:00 208
原创 【软件测试】盘一盘工作中遇到的 MQ 异常测试
上一篇小结了一下关于redis的异常测试,今天再来盘一盘 MQ 相关的。MQ 跟 redis 一样,也是现在系统服务中不可或缺的重要中间件,通常用来流量削峰、应用解耦、异步处理等。之前有过一篇整理【MQ 快速入门】介绍、分类、组成、优缺点、测试点,有兴趣也可以跳过去看看。日常经手的系统主要用的是 RocketMQ,是阿里系下开源的一款分布式、队列模型的消息中间件,是阿里参照kafka设计思......
2022-02-19 12:20:00 582
原创 【软件测试】盘一盘工作中遇到的 Redis 异常测试
在测试工作中,涉及到与 redis 交互的场景变的越来越多了。关于redis本身就不作赘述了,网上随便搜,本人也做过一些整理。今天只来复盘一下,在测试过程中与 redis 的二三事儿。其中提到的案例是经过抽象化的,用作辅助说明作用,仅供参考。一、更新 Key 异常注意点:先删除原 key 再存,还是直接覆盖原 key?比如:之前 A 服务每8小时去查询一次数据库,更新到缓存里去。后来需求......
2022-02-16 22:08:00 266
原创 【软件测试】老说左移右移?实际我们做了什么
最近公司晋升季,听参加的小伙伴提到一些概念性的东西,其中就包括测试左移和右移。这里就借着测试左移和右移的概念,复盘一下测试工作中的内容。一、左移右移是什么首先简述一下左移右移的概念。左移说白了就是尽早的进行测试。比如在正式提测之前,可以对需求、代码等进行评估或测试。右移这里是针对发布上线之后,再进行一系列的手段能够及时发现问题,降低影响范围。比如线上回归、监控等。相比之下,右移可......
2022-02-02 22:38:00 142
原创 【LeetCode】747. 至少是其他数字两倍的最大数
算法现在就是大厂、外企的硬指标。开发、测开、测试,想往上总是绕不开的。这是今天的每日一题,看到是个简单的,就做了下(非官方题解)。题目描述难度:【简单】 标签:【数组】、【排序】给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1 。题目地......
2022-01-13 19:56:00 100
原创 【LeetCode】121. 买卖股票的最佳时机(一次遍历)
算法现在就是大厂、外企的硬指标。开发、测开、测试,想往上总是绕不开的。题目描述难度:【简单】 标签:【数组】、【动态规划】给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最......
2022-01-13 19:48:00 81
原创 【面试高频】给你一句话需求,让你设计测试用例,该怎么做?
这个需求很简单,怎么实现我不管,明天上线...一句话、或者简单描述的需求,需要你设计测试用例,我相信大家或多或少都见到过吧?我想起上一次面试某厂,面试官也出了个这种题。我觉得这种需求作为面试题出现还是可以接受的,如果作为真正的生产需求,我不知道提需求的人会不会被打?今天就不聊生产场景下的,就以面试题的角度,梳理总结一下应对这种题目的套路。参考题目借用一个网上看到的题目,支付场景下的......
2022-01-09 12:31:00 321
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人