- 博客(61)
- 收藏
- 关注
原创 测试分类xxxxx
本文系统介绍了软件测试的分类和方法。测试分类包括UI测试、功能测试、性能测试等6类,重点关注界面完整性、功能验证、系统可靠性等指标。测试方法涵盖白盒、黑盒、灰盒测试3种技术,以及集成、系统、冒烟、验收4个测试阶段。最后按实施组织划分为α测试(内部测试)和β测试(公开测试)。全文全面阐述了软件测试的体系框架和具体实施方法,为测试工作提供了系统指导。
2026-03-08 18:28:59
266
原创 测试中的AI提示词设计
本文介绍ICIO和CRISPE两种测试用例生成框架。ICIO框架包含Instruction(指令)、Context(背景)、Input(输入)、Output(输出)四个要素,用于指导AI生成电商支付模块测试用例,要求覆盖功能、边界和异常场景,输出15条以上包含测试编号、步骤、预期结果和优先级的表格化用例。CRISPE框架则包含Capacity&Role(能力与角色)、Request(请求)、Information(信息)、Style(风格)、Parameters(参数)和Examples(示例)六个
2026-02-26 16:08:50
260
原创 常用Linux命令
本文摘要:Linux常用命令指南,包含日志查看(grep/head/tail)、系统监控(top/htop/free)、文件操作(tar/zip/cp/mv)和进程管理(ps/kill)等核心功能。重点介绍grep搜索技巧、资源监控指标解读及生产环境常用组合命令,如实时日志追踪(tail -f)和异常定位(grep error)。适合通过实践学习Linux的开发者快速掌握运维关键命令。
2026-02-26 14:27:47
235
原创 部分控件操作
本文介绍了使用pywinauto库进行GUI自动化测试的常见操作。主要内容包括:1)鼠标操作:click_input()模拟左键点击、double_click_input()实现双击、right_click_input()模拟右键点击;2)文本获取:texts()返回控件所有文本内容列表,window_text()获取窗口标题文本。示例展示了如何连接SublimeText窗口并执行这些操作。这些方法可用于Windows应用程序的自动化测试和交互。
2026-02-24 16:26:44
137
原创 详解pywinauto使用
摘要:Pywinauto是一款基于Python的Windows GUI自动化库,支持模拟用户交互操作(点击、输入等)。它提供两种后端技术(win32/uia)适配不同框架开发的应用程序,支持传统MFC和现代WPF/Qt等控件。主要优势包括简洁易用、跨Windows版本兼容、动态等待机制和活跃社区支持。安装简单(pip install pywinauto),配合UI检查工具可实现窗口/控件定位。常见操作包括程序启动/连接、窗口定位/控制(最大化/最小化等)、控件交互等,需注意添加等待机制确保稳定性。
2026-02-24 15:45:26
1324
原创 自动化测试五模块一框架(下)
本文介绍了四种Python开发中的常用工具:1. YAML配置文件的读写操作,包括安装PyYAML库和使用示例;2. JSON Schema规范及其数据类型校验功能,涵盖字符串、数字、数组等类型的校验规则;3. logging日志模块的使用方法,包括日志级别设置、格式化和处理器配置;4. Allure测试报告的安装配置和生成方法,包括命令行参数和查看报告的两种方式。这些工具分别用于配置管理、数据校验、日志记录和测试报告生成,为Python开发提供了全面的技术支持。
2026-02-22 15:03:56
663
原创 自动化测试五模块一框架(上)
本文介绍了Python中requests模块和pytest框架的使用方法。requests模块用于发送HTTP请求,包含get()、post()等方法和Response对象的常用属性。pytest是一个高效的测试框架,支持参数化测试、灵活控制测试用例执行顺序,并提供fixture机制实现测试前后置操作。文章详细说明了fixture的使用方法,包括yield实现资源回收、带参数的fixture配置等,帮助开发者编写更高效的自动化测试脚本。
2026-02-22 11:08:18
628
原创 为什么要接口测试
本文摘要:接口测试是验证系统内部模块间和外部系统间交互的重要手段。文章从概念入手,区分了程序内部接口和系统间接口,介绍了接口文档的基本组成。重点阐述了接口测试的必要性:能发现UI测试无法检测的漏洞,确保系统安全性和稳定性。最后详细说明了执行方法:基于文档设计测试用例,包括通过性验证、安全检查和异常处理,强调要反向测试必填参数和类型匹配等关键点。
2026-02-14 15:03:04
355
原创 嵌入式大语言模型:接入方式、场景与主流平台全解析
本文介绍了大语言模型(LLM)的三种主要接入方式:1)API远程调用,通过HTTP请求调用云端服务;2)本地部署开源模型,需要下载模型文件并在本地硬件运行;3)使用官方SDK简化API调用。文章还阐述了嵌入模型的概念及其应用场景,如语义搜索和推荐系统,并列举了主流嵌入模型及其接入方法。最后介绍了HuggingFace和魔搭社区等模型平台,为开发者提供了丰富的预训练模型资源。
2025-11-24 17:14:22
1531
1
原创 InnoDB结构与表空间文件页的详解
1.InnoDB的概览表空间文件在哪里为什么要设计成内存结构和磁盘结构?表空间与表空间文件用户数据如何在表空间文件存储?2.页如何设置页的大小?页的结构及在表空间的位置?页头包含的信息:数据行数据行的组成信息?数据行如何组织在一起?如何标识新页中第一行和最后一行?遍历页中数据从哪里开始哪
2025-05-10 20:51:16
763
原创 Redis数据结构ZipList,QuickList,SkipList
1.压缩列表可以看作连续内存空间的“双向链表“2.列表的节点之间不是通过指针链接,而是上一节点和本节点长度来寻址,大大节省内存3.如果数据过多,链表过长,可能影响查询性能4.增加删除都可能发生连续更新问题。
2025-05-05 21:58:16
1547
1
原创 MySQL架构简介
4.服务层:提供NoSQL API,SQL API,SQL语句解析,SQL语句优化,SQL语句缓存等组件,将优化后的SQL语句发送到存储引擎。2.MySQL Shell :客户端代码编辑器,以组件的形式提供,需要单独下载。除类似MySQL客户端功能,还提供JavaScript和python调用的API。,如果发生崩溃,什么都不用做,InnoDB会自动完成崩溃前的提交,并撤销正在执行但未提交的更改。1.为表中最频繁的查询的列指定主键,没有明显的主键则创建主键。,在连接列上定义外键,这个样可以提升查询效率。
2025-05-02 09:50:23
561
原创 Redis数据结构SDS,IntSet,Dict
1.字符串:SDS1.1.为什么叫做动态字符串2.IntSet2.1.inset如何保存大于当前编码的最大数字?3.1Dict的扩容3.2Dict的收缩3.3.rehash
2025-04-26 19:35:28
875
原创 服务注册/服务发现-Eureka
注册中心就像这个查号台,当一个服务调用另一个服务时,直接通过查号台(注册中心)去调用,避免频繁更改url。当服务变更时向注册中心报道,注册中心记录应用和ip的关系。调用方调用时,先去注册中心获取ip,再去调用。注册中心:维护一个服务列表,哪些服务上线,哪些服务下线,哪些服务更改ip,这些信息会更新到这个注册中心上。客户端拿到这个服务列表直接进行调用就好啦。注册中心三个重要角色服务提供者:在业务中,被其他服务调用的服务,也就是提供接口给其他服务调用。
2025-03-21 12:03:35
1416
原创 微服务架构概述及创建父子项目
在java初学阶段,当自己独立做完一个项目,这个项目的业务功能 控制层 配置层 中间件等等所有的功能集中在一个jar包中,那么这个项目就是单体架构的。1.当一个单体架构的项目的流量和需求逐渐增多时,这个时候单体架构就容易崩溃,为解决这个问题。就可以将个别涉及流量大的功能部署在多个服务器上,多个服务器共同完成这个功能。每个服务器的负载按照负载均衡来调度完成任务。这共同完成一个功能的多个服务器共称为集群。2.将一个系统拆分为多个小子系统,并且部署在多个服务,不同的服务器承担的任务不同。这个就是分布式。
2025-02-23 17:30:37
879
原创 动态规划解决股票问题
本题要求我们只能交易一只股票,根据经验 我们可以这样表示:dp[i] = d[i - 1] + prices[ i ] 但是这样不行的,我们可以有两种状态 :买入 or 卖出。我们可以画出这两种状态的转化图。dp[i] 等于前一天的利润加上当天的利润,但是当天的利润怎么求?但是发现定义的这个状态表示不能记录买入的价格。所以应该换一种思路,这样的状态表示是不合适的。上来就定义:dp[i] : 表示第i天获得的最大利润。根据状态图,我们可以得到多状态表示。本题为多状态转移方程,定义状态表示。
2025-02-14 12:18:53
630
原创 JVM内存回收机制
与标记-清楚类似,但是不一样的是后续并不是直接回收对象,而是让所有的存活对象都向前移动,最后直接清理掉边界标记的就可以了。1.伊甸区比较大,让新创建的对象存放,大多数新创建的对象都活不过第一轮GC,留下来的对象拷贝到幸存区。根据读取到的内容大小,确定出类对象需要的内存空间,申请这样大小的空间,并把这个空间全部初始化为0.元数据区:类对象涉及到的类加载,一个程序里面吗要加载得类都是有上限的,不会出现无限增长的情况。JVM中专门搞了一波周期性的线程,扫面代码中的所有对象,判定某个对象是否“可达”。
2024-10-04 14:46:17
1513
1
原创 了解HTTP
1.HTTP认识2.HTTP请求3.HTTP响应4.URL5.HTTP方法面试题:POST 和 GET区别?网上关于 GET 与 POST的差别 有待商议关于请求报头 和 响应报头6..Host :7..USer-Agent(简称UA)8.状态码9.HTTPS 是在 HTTP 基础上引入的 加密机制1.尝试加密:2.传输对称密钥给服务器:3.非对称加密4.引入证书10.常见抓包工具是如何抓包的?
2024-09-27 17:07:05
1591
1
原创 网络层IP协议
IP协议报头结构:解决IP不够用的问题IP地址组成结构子码掩网方案:左边都是1,右边都是0以太网mac地址 与 IP地址的区别DNS应用层协议
2024-09-22 14:39:11
919
1
原创 网络原理TCP/UDP详解
json也是“键值对”格式,键和值:分割键值对之间使用,分割所有键值对用 { } 包含起来。可读性很好,但是没有明确要求数据的格式,就会有些极端的情况。比如:{ “userid":2001,"position" : "S60E45" },这样也是不好看的。
2024-08-20 11:43:32
1991
1
原创 网络编程概念详解模拟回显客户端服务器
1)IP地址:2)端口号:3)协议协议分层OSI七层模型(教科书)TCP/IP五层模型封装和分用网络套接字面试题:TCP/UDP的区别?UDP数据报套接字编程模拟一个回显客户端-服务器
2024-08-09 17:25:39
1184
1
原创 文件操作及面试题
修饰符及返回值类型⽅法签名说明String返回 File 对象的⽗⽬录⽂件路径StringgetName()返回 FIle 对象的纯⽂件名称StringgetPath()返回 File 对象的⽂件路径String返回 File 对象的绝对路径String返回 File 对象的修饰过的绝对路径booleanexists()判断 File 对象描述的⽂件是否真实存在boolean判断 File 对象代表的⽂件是否是⼀个⽬录booleanisFile()
2024-08-05 11:21:49
1010
1
原创 计数器与阻塞队列
1.要有一个类,描述要执行的任务(任务的时间,内容逻辑)2.管理多个任务,通过一定数据结构,把多个任务存起来3.有专门的线程,执行任务。
2024-07-28 18:31:55
921
2
原创 多线程死锁与单例模式
1.两个线程两把锁的死锁场景2.构成死锁的四个必要条件:3.内存可见性问题4.volatile的作用5.wait与sleep的区别6.单例模式
2024-07-24 17:23:46
980
1
原创 多线程.下
总结:synchronized的几种使用方式:注意:在多线程中并非就是写了synchronized就是安全的,还要看具体代码怎么写,是否要加synchronized是要看具体场景。1.线程等待2.join()介绍4.线程的状态3.获取当前对象引用5.线程安全6.synchronized()关键字
2024-07-20 22:29:37
984
3
原创 多线程详解
线程与进程的关系引入多线程方案就可以大大提高效率进程和线程的概念与区别线程创建的五种常用方式介绍Thread类与属性前台线程与后台线程线程的终止(结束)
2024-07-12 16:39:39
1246
4
原创 浅谈MySQL事务
但是这里的“要么一个都不执行”不是真的没有执行,而是执行到一半发现错误自动“还原操作”,把之前执行过SQL语句进行“撤销”,最终的效果看起来像没有执行的一样。这样的机制叫“回滚”(rollback)解决方法:只要有事务在进行读取时,我们就不对这个数据做任何操作。就算多个客户端同时向服务器提交了多个事务,但是服务器也要一条一条执行事务。这样的操作叫”串行化“事务的基本特性
2024-05-29 19:40:33
1021
原创 MySQl索引
索引是一种特殊的文件,包含对数据表里所有记录的引用指针,可以对表里的列创建索引,并且指定索引类型,索引有自己的特殊的数据结构。如果把表比作图书,数据就是书记的内容,索引就是书本的目录可以让我们很快速的查找到自己想要的内容。
2024-05-26 17:02:22
721
原创 MySQL增删查改进阶
使用group by 指定某一个列,就会把列值相同的行回到一个组中,分完组后还可以针对每个组进行聚合查询。子表中的class引用自父表class中的class列class表中的数据制约啦stu表中的class。创建stu表,指定name这一列被UNIQUE修饰,表中插入两个‘张三’,所以报错,插入失败。SQL中进行条件查询,是针对列于列之间比较的,不能把比较行,如果把一个表自己与自己链接。插入:在子表中插入数据会触发对父表的查询,若没有对应的数据会报错。一个查询可以包括分组前的条件和分组后的过滤条件。
2024-05-26 14:47:54
1221
原创 MySQL增删查改初阶
本篇涉及库的操作:库的创建,库的显示,库的删除;表操作:表的创建,表的删除表的操作,在选中数据库的基础之上select操作生成的表只是一个临时的表,并没有改变原有的数据
2024-05-25 19:32:40
984
原创 java实现顺序表洗牌算法
1.首先要生成一副有顺序的新牌,通过实现方法来有序的生成。3.通过实现方法去将牌的顺序打乱,4.定义三个牌栏表示每个人抽取的牌。2.每张牌都是有数字和花色组成。
2024-03-31 10:13:21
569
原创 java实现图书馆信息管理系统
为了更好的实现该系统,可以将不同的功能模块放在不同的包中。7.归还图书ReturnBookOperation。比如:书的名字,价格,作者,类型,是否被借出等等。3.BorrowedOperation借阅书籍。4.DalabookOperation删除书籍。5.查找书籍FindBookOperation。6.展示书架ShowBookOperation。8.ExitOperation推出图书系统。5.1Normaluser正常普通用户。5.User使用者身份。
2024-03-28 12:04:05
1424
1
原创 掌握java中的多态
类的调用者在编写这个方法时,参数类型为Anmal父类,此时该方法内部并不知道,也不关注当前的a引用 指向哪个子类的实例,此时a这个引用调用eat方法会有多少种不同的表现,这就是多态。,重写的好处就是在于子类可以根据需要重写父类的方法,定义特定的功能。缺点:不能再调用子类特有的方法,只能调用子类重写的父类的方法和自己的成员变量。5.重写的方法用@Override注解,可以帮助我们注解,校验。在向上转型之后,不能再调用子类自己的独有方法,如果非常需要,我们。1.在构造D的对象同时,会调用B的重写的方法,
2024-03-25 15:56:27
926
原创 掌握java中继承
那么为什么会有继承呢?假如我们要定义好多的类,都是描述动物的类,这些类有共同的特点,成员变量都含有动物的名字,年龄;如果每写一个类都要这样定义的话未免有点过于麻烦了;我们可以定义一个父类,包含年龄,名字;以后定义的子类只要它就好了;。父类和子类中可能出相同的成员变量或方法,如果想在子类中访问父类成员变量是很难的,java中提供了static关键字;输出结果 10 20;那么如何访问父类中的成员变量呢?可以在子类中再定义一个方法,用关键字super,
2024-03-08 18:08:58
918
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅