- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 Fiddler 指定链接断点
通过FiddlerScript,可以编写自定义脚本来识别和标记目标接口。例如,可以根据请求的URL、请求头或响应内容来动态设置断点。在使用Fiddler进行抓包和mock数据时,面对前置接口过多的问题,可以通过过滤无关请求、使用断点功能、编写自定义脚本、模拟登录态以及使用AutoResponder等方法,精准定位目标接口,提高调试效率。
2025-05-20 23:15:35
472
原创 向量数据库与传统数据库的差异
向量数据库是一种专门设计用于高效存储、管理和检索**向量数据(高维数值数组)**的数据库系统。它针对非结构化数据(如图像、文本、音频)的特征进行优化,通过将数据转化为向量嵌入(embeddings),并基于向量之间的“相似性”实现快速搜索。想象一个图书馆,书籍不是按书名排列,而是按内容主题的相似性成簇分布。向量数据库就像这样的智能管理员,能根据你提出的问题,迅速找到“思想相近”的所有书籍。近似最近邻(ANN)算法(如HNSW、LSH)相似性搜索(如“找与这张图相似的图片”)结构化数据(数字、字符串)
2025-03-26 20:23:58
1294
原创 向量数据库与ES的区别与结合
非结构化数据 → 高维向量(如文本嵌入、图像编码)结构化/半结构化数据(JSON文档,文本字段)ANN(近似最近邻)算法(HNSW、IVF等)倒排索引(关键词分词)、BKD树(数值范围)关键词匹配、布尔查询、聚合统计、模糊搜索。高维向量相似性搜索(语义/特征相似性)日志分析、电商商品搜索、企业级全文检索。向量距离计算(余弦相似度、欧氏距离)语义搜索、图像/视频检索、推荐系统。非结构化数据语义搜索(如图像)文本全文检索、结构化数据查询。需同时支持关键词+语义搜索。高并发向量相似性搜索优化。
2025-03-26 20:20:05
1642
原创 DeepSeek与浏览器自动化AI Agent构建指南
DeepSeek-R1开放API(对话/推理)或DeepSeek-Coder(代码生成):LangChain或Autogen(用于构建AI Agent工作流):Playwright(比Selenium更快的现代浏览器自动化库):FastAPI(轻量级API框架)+ RabbitMQ(任务队列)接收自然语言指令(如"获取亚马逊iPhone 15前3页价格"):集成桌面自动化库(如PyAutoGUI)突破浏览器限制。:结合Playwright的截图功能+视觉模型进行验证。自动处理搜索框输入和搜索按钮点击。
2025-03-07 19:24:36
967
原创 大数据测试
大数据是不能使用传统计算技术处理的大型数据集的集合。这些数据集的测试涉及各种工具,技术和框架。大数据涉及数据创建,存储,检索和分析,数量,多样性和速度都要求非常高。
2025-03-05 21:13:07
989
原创 电商业务数据测试用例参考
实际工作中需结合业务需求补充场景(如冷启动推荐、数据回溯测试等),并利用自动化框架(如Airflow调度测试任务)提升效率。),通过ELK(Elasticsearch+Logstash+Kibana)追踪全链路处理过程。监控集群资源:CPU利用率≤80%,内存无OOM(Out of Memory)错误。总数据量:10,000条(含浏览、点击、加购)。:消费到的数据量=10,000条,且字段无缺失。字段(从日志生成到推荐结果返回的时间)。工具构造每秒10万条日志的请求压力。:95%的请求端到端延迟≤1秒。
2025-03-04 22:16:34
1702
原创 大数据测试总结
Hive的核心特点,比如使用HQL,底层是MapReduce或Tez,数据存储在HDFS。还要提到Hive的优缺点,比如适合批处理,延迟高,不适合实时查询。Hive 的核心特点基于Hadoop数据存储在HDFS(Hadoop分布式文件系统)中,计算依赖MapReduce、Tez或Spark引擎。适合处理批量数据(如日志、历史记录),但延迟较高(分钟级响应),不适用于实时场景。类SQL接口(HiveQL)支持SELECTJOINGROUP BY等SQL操作,但对复杂事务支持有限(如不支持行级更新)。
2025-03-04 21:01:03
1088
原创 playwright 学习复仇记-3 页面操作
Playwright 可以与 HTML 输入元素交互,例如文本输入、复选框、单选按钮、选择选项、鼠标单击、键入字符、键和快捷方式以及上传文件和焦点元素。
2024-12-03 22:29:36
274
原创 playwright 学习复仇记-2 Selector选择器定位元素
Selector 选择器,也就是通常说的元素定位了,页面上点点点的操作,都是基于元素定位,所以这块是重点需要学的核心内容。
2024-12-02 23:44:26
1128
原创 playwright 学习复仇记-1 开端
UI 自动化测试工具 Playwright, 支持 Node.js、Python、C# 和 Java 语言。
2024-12-02 22:47:20
897
原创 常用adb命令
1. 检查连接adb devices -l2. 开启、关闭adb服务adb start-serveradb kill-server3.查看adb出了什么问题adb nodaemon server4.doc下查询端口进程netstat -ano | findstr "端口" tasklist | findstr “8516”C:\Users\lizy>taskkill /f /pid 9635. 查看apk的launcherActivityadb s
2021-04-27 17:52:57
1013
原创 性能问题分析流程
性能问题分析流程1)查看服务器的CPU、内存 、负载等情况,包括应用服务器和数据库服务器 2)查看数据库健康状态,数据库死锁、连接池不释放 3)查看项目日志(查看无报错现象) 4)查看jvm的gc等情况 常见性能问题 一、内存溢出 1、堆内存溢出 【现象】以下: (1)压测执行一段时间后,系统处理能力下降。这时用JConsole、JVisualVM等工具连上服务器查看GC情况,每次GC回收都不彻底并且可用堆内存越来越少。 (2...
2021-01-22 11:33:29
340
原创 shell知识整理
Linux命令书籍:https://www.linuxprobe.com/chapter-00.htmlshell参考:http://www.runoob.com/linux/linux-shell.html1、一个hello world例子:hello.sh#!/bin/bashecho "Hello World !"解释:#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。echo 命令用于向窗口输出文本。执行:Sh hello
2020-12-24 12:18:06
398
原创 获取app控件id
一、使用adb 命令 + uiautomator 获取app控件id1.在E盘根目录下创建app.png文本文件2.在E盘根目录下创建app.uix文本文件3.执行以下adb命名: adb shell uiautomator dump /sdcard/app.uix adb pull /sdcard/app.uix E:/app.uix adb shell screencap...
2020-12-23 21:49:28
2309
原创 jmeter 仅一次控制器用法
在进行压测时,往往登录只需要一次用来获取cookie或token,其他的接口可能需要利用登录状态循环测试。这里就会用到控制器中的仅一次控制器。只要放置在控制器的请求,不管在哪种情况下,都只执行一次。相当于一个用户进行多次访问,只需要一个cookie,进程数 == 用户数。仅一次控制器主要限制循环。 单用户对某一接口进行重复请求:接口可参数化,模拟单用户同时对多接口进行并发,我这里主要用于在后台创建查询任务。对账号进行参数化后,可设置进程、循环、对接口进行压测。...
2020-12-20 16:53:51
3887
原创 jmeter 正则表达式提取cookie并设置全局化
1.使用正则表达式提取器时需特别注意要提取值的前后内容,例如本人踩坑:刚开始将bb_session=也提取出来,导致cookie出错。2.将cookie设为全局化时,注意手写jmeter内置函数,其内置函数以两条英文下划线开头“__”,例如使用BeanShell PostProcessor:“${__setProperty(cookie_login,${cookie_login},)}”3.跨线程调用全局化的cookie时(${__property(#设置好的cookie别名)}),信.
2020-12-20 15:48:51
2656
原创 利用 adb 对手机进行屏幕分辨率设置
在公司中有时候会缺少对应屏幕分辩率的测试,一般线上app会因为屏幕分辨率出现各种奇形怪状的问题。利用adb设置屏幕分辨率来对app进行分辨率兼容测试。adb 基础命令:1、启动adb服务adb start-server2、终止adb服务adb kill-server3、进入adb运行环境(Android 系统内核是 Linux,所以许多 Linux 系统的命令在 Android 系统中都可以使用)adb shell4、获取帮助 里面有adb的各种命令和参数的介绍adb h
2020-11-22 21:13:31
21060
1
原创 利用fiddler对app抓包,改返回数据
1在同一网络下设置代理,fiddler默认端口为8888,ip地址可在cmd用ipconfig中查看也可在fiddler中查看:2.手机无线网下设置代理。3.fiddler下设置断点,在rules->automatic breakpoints下有三个选项before requests(在请求之前)、after responses(在响应之后)、disabled(禁用),和ignore images(忽略图像)因为我要改app内获取到的数据所以采用after responses(a.
2020-07-28 10:18:21
2430
原创 软件测试常考面试题
OA:办公系统CRM:客户关系管理系统ERP:系统是企业资源计划测试用例应包括哪些内容?编号、模块名称、编写人、日期、操作说明、输入数据、预期结果等。设计用例的方法:在测试的不同阶段运用不用的测试方法设计用例的方法依据不同:白盒测试用例设计有如下方法:逻辑覆盖、循环覆盖和基本路径覆盖黑盒测试用例设计方法:等价类划分、边界值分析、错误猜测、因果图、状态图、测试大纲、场景法、正交策略表。一份测试计划应该包括哪些内容?背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、
2020-07-08 11:02:21
519
原创 locust压测
今天偶尔发现一个钓鱼网址,然后利用locust对其进行压测附上伪装成英雄联盟手游官网的钓鱼网址:http://slohl.urbnmalls.com.cn/1.python环境下pip install -i https://pypi.tuna.tsinghua.edu.cn/simple locust安装locust包2.编写python代码3.在test001.py路径下执行语句(也可写成绝对路径)locust -f test001.py4.在浏览器打开 loca
2020-06-17 00:14:23
398
原创 android常用权限
<!-- 拨打电话 --> <uses-permission android:name="android.permission.CALL_PHONE" /> <!-- 发送短信 --> <uses-permission android:name="android.permission.SEND_SMS" /> <
2018-08-07 17:44:45
607
转载 Python推导式(生成式)
Python推导式(生成式) 1、推导式推导式是从一个或者多个迭代器快速简洁的创建数据结构的一种方法。可以将循环和条件判断相结合,从而避免语法冗长的代码。2、列表推导式常见的列表推导式有以下两种格式 [expression for item in iterable][expression for item in iterable if condition]下面通过具体...
2018-08-04 20:31:44
516
原创 Python执行Linux系统命令的4种方法
Python执行Linux系统命令的4种方法 (1) os.system仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息复制代码代码如下:system(command) -> exit_status Execute the command (a string) in a subshell.如果再命令行下执行,结果直接打印出来复制代码代码如下:...
2018-08-04 20:17:08
596
原创 python与linux命令简单结合
import osprint('plaese input old_name')old_name=raw_input()print('plaese input new_name')new_name=raw_input()os.system("mv %s %s"%(old_name,new_name)) 在liunx环境下,先导入os,raw_input()方法用来接收字符串类...
2018-08-03 20:56:05
579
原创 python中%s与%d
pythn print格式化输出。 %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户显示输出的。 1. 打印字符串print ("His name is %s"%("Aviad"))效果:2.打印整数print ("He is %d years old"%(25))效果:3.打印浮点数p...
2018-08-03 20:28:54
69720
原创 python入门总结
list列表:用[ ]扩起数据基本方法: append(obj) 向列表中添加元素 count(obj) 统计某个元素在列表中出现的次数 extend(seq) 向列表末尾一次性添加一个序列中的多个值 index(obj) 某个元素第一次出现的索引值 insert(index,obj) 向列表中插入一个元素 ...
2018-08-03 17:37:12
396
原创 虚拟机 - vmware
虚拟机的几个概念1. VM(Virtual Machine)——可以在一台电脑上模拟出来若干台PC,每台PC可以运行单独的操作系统而互不干扰,可以实现一台电脑“同时”运行几个操作系统,还可以将这几个操作系统连成一个网络。2.HOST——指物理存在的计算机,Host′s OS指HOST上运行的操作系统。host也叫宿主机。3. Guest OS——指运行在VM上的操作系统。例如在一台安装了Windo...
2018-06-13 15:28:03
574
原创 编写和管理缺陷报告
缺陷报告的用途1. 记录缺陷2. 缺陷分类3. 缺陷跟踪缺陷分类1. 按缺陷的严重程度影响进度的问题死机功能问题界面问题建议2. 按修复缺陷的优先级应立即修复的问题在产品发布之前必须修复的问题如果时间允许应该修复的问题可以在发布版本中存在的问题备注:缺陷的严重程度和优先级各软件公司可根据实际情况自行确定。缺陷报告的分类1、按缺陷所处状态分类待确认的新提交的已分配的问题未解决的待返测的待归档的已归档...
2018-06-13 08:20:59
949
原创 测试中缺陷的概括
测试中识别和描述缺陷1.缺陷不仅仅特指那些我们常见的程序错误,那些“不符合设计要求”和“不满足用户需求的”的问题也是缺陷,而且是更加严重的缺陷。产生缺陷的原因1. 人员之间的沟通交流不够,交流上有误解或者根本不进行交流2. 文档不完善3. 需求不断的变化4. 参与人员的过度自信(模块功能不调试,多个模块不联调)5. 程序设计本身有错误(拆单发货例子)6. 软件复杂性7. 工期短,任务重,时间压力大...
2018-06-13 08:13:41
1888
原创 java基础——数组
(1)数组的概念: 数组是一个变量,存储相同数据类型的一组数据的集合 (2)特点: 数组一旦定义好就不可以修改长度,如果要修改就必须重新定义一个新数组或者引用其他的数组,因此数组的灵活性较差 . length来调用 (3)定义格式 A:数据类型 数组名[ ] ; ...
2018-06-12 08:31:50
411
原创 关于测试用例心得
1.要理解需求文档所需要的内容,测试用例是基于需求的,为了测试程序是否满足需求,个人觉得要想写好测试用例必须对于需求做到完全理解2.测试用例应该包含清晰的输入数据以及预期输出,没有测试数据的用例更多的是具有指导意义,执行过程中更多的是靠个人根据指导的自由发挥。3.测试用例尽量写的详细,考虑环境全面,测试用例步骤必须描述清晰,不能出现模棱两可以及重复的话语,测试用例应该按照增删改的顺序进行安排,这样...
2018-06-11 20:01:54
1056
原创 App测试方法
App测试方法总结一、安全测试1.软件权限1)扣费风险:包括短信、拨打电话、连接网络等。2)隐私泄露风险:包括访问手机信息、访问联系人信息等。3)对App的输入有效性校验、认证、授权、数据加密等方面进行检测4)限制/允许使用手机功能接入互联网5)限制/允许使用手机发送接收信息功能6)限制或使用本地连接7)限制/允许使用手机拍照或录音8)限制/允许使用手机读取用户数据9)限制/允许使用手机写入用户数...
2018-06-06 14:24:55
342
原创 MySQL数据库基本语句
-- 双中划线+空格:注释(单行注释),也可以使用#号-- 创建数据库create database mydb charset utf8;-- 创建关键字数据库create database database charset utf8;-- 使用反引号create database `database` charset utf8;-- 创建中文数据库create database 中国 chars...
2018-06-05 20:20:14
445
原创 应用程序的反编译
应用程序的反编译 (一)apktool 1、安装ApkTool工具 2、该工具可以解码得到资源文件,但不能得到Java源文件。 3、安装环境:需要安装JRE1.6 4、命令格式:apktool d [opts] <file.apk> [dir] 中的d代表解码,[opts]代表选项...
2018-06-05 20:18:14
1326
原创 测试用例
测试用例格式用例编号:A-B-C-DA:产品或项目名称;B:用例属性(ST,IT,UT);C:客户管理(新增客户,什么类型的客户);D编号例:CRM-ST-客户管理-新增客户-001测试项:针对于某种对象的测试用例(客户管理-新增客户)测试标题:新增名称为空的客户信息;新增名称超过20个字符的客户信息:新增名称包含单引号的客户信息用例属性:功能测试;性能测试;兼容性测试;安全性测试;重要级别:(顺...
2018-06-05 20:15:39
1367
原创 java面试题
public class lll { public static void main(String[] args) { int line=8; for(int i=1;i<=line;i++){ for(int j=0;j<line-i;j++){//用来输出制表符的。因为数字有123位的,用空格不整齐 Sys...
2018-06-01 16:00:50
203
转载 Dialog向Activity传递数据
Dialog向Activity传递数据本文出处:http://superonion.iteye.com/blog/1418467我们知道,从一个Activity向另一个Activity传递数据,用Intent实现。而当一个浮在Activity之上的Dialog需要向该Activity传递数据时,应该怎么实现呢?接着上一篇文章:用Dialog创建带箭头的对话框。 现在PopupDial...
2018-05-31 19:18:34
500
原创 Android多用户原理
android从4.2开始便添加了多用户功能,其具体的管理者为UserManager.多用户模式的启用系统判断当前设备是否支持多用户模式的依据是配置文件config.xml 中的config_multiuserMaximumUsers 和config_enableMultiUserUI 配置项。[html] view plain copy<!-- Maximum number of sup...
2018-05-31 19:13:12
1509
转载 ToolBar
ToolBar的出现是为了替换之前的ActionBar的各种不灵活使用方式,相反,ToolBar的使用变得非常灵活,因为它可以让我们自由往里面添加子控件.低版本要使用的话,可以添加support-v7包. 今天要实现的效果如下: 由上图可以看到,toolBar的布局还是相对丰富的.要使用toolBar,首先为了兼容低版本,需要在gradle中引入支持库compile 'com.android.su...
2018-05-31 19:02:15
482
原创 软件测试流程和分类
1、单元测试 集中对用源代码实现的每一个程序单元进行测试,检查每个程序模块是否实现了规定的功能,保证其能正常工作。见下图2、集成测试是把已进行过单元测试的模块组装起来进行测试,目的在于检验与软件设计相关的程序结构问题。3、确认测试是检验所开发的软件是否满足了需求规格说明中确定了的各种功能和性能需求,以及软件配置是否完全和正确。4、系统测试的主要任务是把已经经过确认的软件纳入实际运行环境,与其他系统...
2018-05-31 16:54:14
1256
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人