小小小小人水豚
日拱一卒,不期而遇
展开
-
【python】操作远程机器,执行命令或者上传下载文件
之前的中总结过如何在不同的机器之前进行文件传输,此文中总结的方法偏向于手工操作,如果想要自动化的触发或者操作远程机器的话可以考虑适用paramiko模块,也就是今天需要讨论的场景。比如远程执行自动化任务、远程文件上传、下载等操作。原创 2023-12-25 18:58:06 · 552 阅读 · 0 评论 -
【评测脚本】agent资源监控
在之前的文章中提到过,我们在测试过程中需要对机器的资源进行评测。在实际工作中,我们还会经常遇到的场景就是对于agent-server类型的业务,当部署完成后,需要对部署在机器上的agent进行资源占用的观测,不能舍本逐末,由于agent的异常资源占用,导致原有业务受机器资源影响,不能正常提供服务。监控指定的进程(比如agent)所占用的机器资源是否达到预期目标,尤其是在稳定性测试时,检验是否有内存泄漏、CPU占用过高等问题。原创 2023-12-15 17:53:53 · 574 阅读 · 0 评论 -
【评测脚本】机器信息评测
QA的实际工作过程中,除了业务相关的测试外,也会涉及到一些评测相关的工作,甚至还要做多版本、多维度的评估分析。尤其是现在火热的大模型,相关的评测内容更是核心中的核心。当然本文的内容只是做一些初级的机器相关的评测信息,更多更广的评测需要更多时间的积累和总结,但愿后续能够呈现给大家。原创 2023-12-08 18:26:50 · 432 阅读 · 0 评论 -
【工具】机器之间传输文件的常用方式
QA的工作工程中,在不同服务器或者本地机器与服务器之间进行文件或目录的上传或者下载是非常普遍的场景,为此本文将常用的好用的工具一并做个总结,大家有其他的利器也欢迎评论区留言。原创 2023-12-08 16:33:30 · 1026 阅读 · 0 评论 -
【python】输出高亮信息
日志是定位问题和数据分析的关键手段之一,尤其是在调试阶段,高效的、具有辨识度的日志可以非常快速准确的进行问题定位。shell中的echo命令自带文本格式化输出的功能,我们先来回顾下基本的语法,然后套用到python中即可。原创 2023-08-27 11:16:36 · 338 阅读 · 0 评论 -
【测试右移】上线规范化
俗话说无规矩不成方圆,这句话在软件领域的生产环境尤其适用。近年来很多互联网领域的线上事故一定程度上都是由于上线操作或者上线流程不规范导致的,对用户体验、用户资产甚至用户信任产生非常负面的影响。因此,软件的线上质量应该被当作【一号位】的工程来对待。原创 2023-08-20 09:32:18 · 173 阅读 · 0 评论 -
【测试右移】如何做线上监控
软件的质量是需要全生命周期进行关注的,在生产环境下QA的活动就是测试右移,测试右移最关键的手段就是线上监控,也是至关重要的一个环节,可以通过技术的手段,提前感知到线上问题和风险,先于用户提前发现问题,提升服务可感知性,从而降低客户投诉。原创 2023-08-12 21:51:55 · 1925 阅读 · 0 评论 -
【python】difflib模块进行文本比较
背景RD部署时的配置文件需要保证前一个版本和后一个版本不一致,否则会产生丢数据的问题。鉴于此,每次提测后QA需要对2个版本的产出物进行对比。linux中有diff命令可以对两个文件进行比较,但是需要登录到linux开发机,比较麻烦。python中自带的difflib也可以实现类似的功能,而且比较的结果能保存为html格式的文件,使用起来更直观,而且可以根据自己的需要在不同的平台上使用。常用方法简介先用dir查看该模块中有哪些可以的类或者方法difflib模块最常用的2个类就是Dif...原创 2020-09-20 20:03:18 · 13902 阅读 · 1 评论 -
【python】生成图片验证码
背景在注册或者登陆场景下,经常会遇到需要输入图片验证码的情况,最经典的就是12306买火车票。图片验证码的破解还是有一定难度的,而且如果配合上时间和次数的验证,可以很大程度上防止模拟登陆或者暴力破解,保护用户信息,同时很大程度上减少对服务器的恶意请求。今天我们就用python的django框架+PIL实现简单的图片验证码。环境python:3.6.5django:3.1.6pillow:5.2.0【说明】:需要有django基础,比如路由、视图函数和启动命令等。代码check_code.py原创 2021-07-25 17:02:20 · 2091 阅读 · 1 评论 -
【go】并发实现文件下载并计算md5
上一篇文章中通过python的多进程和协程实现了多文件下载并计算md5的需求,最近接触了go语言,这篇文章就简单介绍下怎么通过go实现同样的需求。go语言原生支持的高并发:Goroutine 和 Channel。具体的原理可以参考:https://studygolang.com/articles/11825。实现并发的方式非常简单,直接通过go关键字,后面加上要并发执行的代码(一般就是一个函数)。代码示例:package mainimport ( "bufio" "crypto/md5" "原创 2022-04-03 09:50:41 · 692 阅读 · 0 评论 -
【python】并发实现文件下载并计算md5
工作中的接口需要发送2个参数,url和md5,但是一般情况下md5都是将文件下载后再计算出来的。少量的话可以手动下载文件后,通过md5sum命令计算出来,如果有批量的url,手动计算就不太现实,所以考虑通过程序并发实现md5计算。0、环境win10 + python3.6.5linux环境或者mac多线程效果更明显2、通过multiprocessing模块的回调功能实现2.1 思路先遍历指定文件(url.txt),拿到每个待下载的url;每遍历一个url,就调用apply_asyn函数将原创 2022-03-26 21:41:02 · 2198 阅读 · 0 评论 -
【websocket - Tornado】简易聊天应用
项目测试的过程中需要自己搭建一个webscoket站点,确保此类服务接入后台系统后访问不受影响。python的服务框架常用的有Flask、Django、Tornado,每个框架的侧重点不同,导致使用的场景就会有所差异。由于不涉及复杂的业务场景,只需要简单的收发消息即可,所以本文以框架为例来进行说明,后续可能会补充django channels的websocket。原创 2023-08-05 10:40:15 · 803 阅读 · 0 评论 -
【SwitchHosts】高效host管理工具
SwitchHosts一款高效hosts管理工具原创 2023-08-04 23:24:07 · 1721 阅读 · 0 评论 -
【wrk2】轻量级性能测试工具
wrk/wrk2是针对http协议的基准测试工具,特点是在单击多核CPU的前提下,通过系统自带的高性能I/O机制【epoll、kqueue等】,以多线程和事件模式,在指定的时间和请求范围下对目标机器产生负载。1、安装简单、容易上手2、基于系统自身的高性能机制,单机产生大量请求3、轻量级测试工具,学习成本低1、只能进行单击压测、不支持分布式;无法取代jmater、loadrunner等专业工具2、只支持http协议,请求体中带参数的请求比如POST,需要写Lua脚本。原创 2023-07-29 11:22:05 · 1066 阅读 · 0 评论 -
【python工具】html中表格转化为excel
将html中的表格内容快速转化为excel,进行二次的创作原创 2023-07-23 21:37:11 · 1156 阅读 · 0 评论 -
【python】时间相关工具包
基于python中常用的时间工具包:time、datetime、arrow、calendar封装 的时间工具类,拿来即用原创 2023-07-16 21:02:53 · 275 阅读 · 0 评论 -
【python】如何同时对两个字段优雅的排序
目录方法一:最憨厚的排序方法二:sorted优雅的排序总结: 工作中遇到一个有意思的排序问题,数据结构抽象出来大概是这样的:一个列表,列表中的子元素是字典,字典中的key有3个,id表示唯一值元素,count表示某个id在mongodb中出现的次数,name表示id对应的名称,示例如下:id_list = [{'id': 123, 'count': 12, 'name': 'privacy'}, {'id': 47, 'count': 33, 'name': '...原创 2020-09-15 23:45:33 · 3139 阅读 · 1 评论