- 博客(114)
- 收藏
- 关注
原创 Linux系统用户和用户组查看
✅ 查看所有用户和组- 使用和/etc/group✅ 查看特定用户信息- 使用idfingergroups等命令✅ 区分系统用户和普通用户- 通过UID判断(<1000为系统用户)✅ 监控用户活动- 使用whowlast等命令✅ 进行安全审计- 检查空密码、异常UID等✅ 批量处理用户信息- 使用脚本自动化查看用户和组信息是Linux系统管理的基础技能,熟练掌握这些命令对于日常管理和故障排除非常重要。
2025-12-13 12:06:42
674
原创 Windows 10商店版Ubuntu(WSL)设置root密码完整指南
✅成功设置root密码- 增强WSL安全性✅掌握密码管理- 知道如何重置和验证✅配置安全环境- 防止未授权访问✅处理常见问题- 应对各种异常情况在WSL环境中,虽然root密码提供了额外的安全层,但主要的安全防护还是依赖于Windows系统本身。确保Windows账户安全,定期更新系统和杀毒软件。
2025-12-12 16:21:00
321
原创 Linux命令中su和sudo详解
情况推荐使用示例命令理由日常管理sudo安全、可审计、无需共享root密码长时间root操作sudo -i有完整的root环境,操作完成后自动退出服务账户操作更安全,无需知道服务账户密码自动化脚本配置免密码sudo避免硬编码密码,安全可控多管理员环境每人配置特定sudo权限权责分明,便于审计。
2025-12-12 16:18:31
839
原创 MySQL及其他常见数据库常用函数
- MySQL优化:使用原生函数提高性能/* 在纯MySQL环境中 */-- 使用全文索引和MATCH AGAINST进行搜索-- 使用空间索引处理地理位置-- PostgreSQL特有:使用数组和JSONB-- SQL Server特有:使用T-SQL窗口函数MySQL优势:充分利用CONCAT_WS、窗口函数(8.0+)、JSON函数(5.7+)兼容性核心聚合函数(COUNT, SUM, AVG):完全兼容CASE表达式:SQL标准,完全兼容。
2025-12-10 22:14:16
351
原创 测试工程师沟通秘籍:5大技巧搞定开发与产品,成为团队中最受欢迎的技术搭档
那个测试又给我提了个无效Bug!这是我无意中在茶水间听到开发同事的抱怨。其实在工作中这种情况特别的,某大厂被别人调侃的“拉通对其”关键技术就是研发人员之间的真实沟通场景,这一刻我也意识到,技术再厉害,如果不会沟通,在团队中也难以发挥价值。本章将分享我7年测试生涯中总结的沟通心法,让你成为开发愿意合作、产品愿意倾听的质量专家。
2025-12-08 23:11:33
417
原创 从被动执行到主动规划:手把手教你制定“零漏测“测试策略与计划
测试计划质量检查清单策略层面:是否基于风险评估确定测试重点?测试金字塔各层策略是否明确?测试类型选择是否合理?测试环境策略是否可行?计划层面:测试范围是否明确界定?资源分配是否合理?时间安排是否充分?里程碑设置是否恰当?执行层面:测试用例设计方法是否明确?缺陷管理流程是否清晰?进度跟踪机制是否建立?风险应对措施是否准备?优秀的测试策略不是一成不变的模板,而是基于深入分析和持续调整的动态规划。从今天开始,用战略思维重新定义你的测试工作。
2025-12-08 12:01:17
148
原创 Bug报告黄金法则:3步写出让开发“无法拒绝“的缺陷报告,Bug修复效率提升300%
这不是Bug,这是特性!这是我早期职业生涯中最常听到的开发回复。直到我学会了如何用数据和事实说话,才发现问题不在代码,而在沟通。本章将教你用专业的方式报告缺陷,让你的每一个Bug都被认真对待、快速修复。
2025-11-25 11:56:53
25
原创 测试用例设计核心3板斧:等价类、边界值与场景法实战拆解,告别无效测试,从小白到专家
核心方法论总结优秀的测试用例不是写出来的,是思考出来的。每个用例都应该讲述一个关于质量风险的故事。在下一篇文章中,我们将学习如何高效报告Bug,让你的每一个缺陷都能被快速理解和修复,真正体现测试工程师的专业价值。
2025-11-19 13:37:59
464
原创 颠覆认知:软件测试不是找Bug,而是构建可信赖的数字世界
传统认知 vs 现代理念等待开发完成后才开始测试机械执行预定测试用例主要工作是报告缺陷被动等待修复和重新测试认为"质量是测试出来的"现代理念(需要建立):需求阶段:参与需求评审,确保需求明确可测试;识别业务风险和使用场景;制定验收标准和质量目标设计阶段:评审技术方案的可测试性;设计测试策略和自动化方案;准备测试环境和数据策略开发阶段:代码评审和单元测试验证;持续集成流水线质量门禁;增量功能验证和反馈测试阶段:风险驱动的深度测试;用户体验和性能验证;安全性和兼容性测试。
2025-11-19 13:26:02
234
原创 终身学习与社区参与:测试工程师的持续成长引擎
技术栈每三年革新一次,工具每六个月更新一代,我该如何保持不落伍?这是我职业生涯早期最焦虑的问题。直到我遇到一位资深架构师,他告诉我:“不要追逐技术,要构建学习的能力。技术会过时,但学习的能力永远是你的核心竞争力。通过系统性的学习和积极的社区参与,我不仅保持了技术敏感性,更建立了广泛的职业网络,获得了许多意想不到的机会。今天,我将分享构建持续成长体系的方法论。
2025-11-15 11:30:00
184
原创 混沌工程:主动拥抱失败,构建弹性系统
为什么我们的系统在测试环境运行完美,一到线上就频繁故障?这是我曾经面对的最令人困惑的问题之一。直到我们引入了混沌工程,才发现测试环境的"完美"恰恰是最大的陷阱——它掩盖了系统在真实世界中的脆弱性。通过故意注入故障,我们发现了数据库连接池耗尽、缓存雪崩、服务间超时设置不合理等23个潜在风险。这些风险在传统测试中极难发现,却在混沌工程下暴露无遗。
2025-11-15 07:00:00
27
原创 超越测试:质量工程的终极使命与未来视野
我们不是在测试软件,我们是在构建可信赖的数字世界。这是我职业生涯中最深刻的领悟。当医疗软件关乎生命,当金融系统涉及财富,当自动驾驶承载安全,测试工程师的工作就超越了技术范畴,成为了社会责任。我曾参与一个医疗设备软件项目,在最后关头发现了一个边界条件缺陷。这个缺陷在99.9%的情况下不会触发,但一旦发生,可能导致诊断数据错误。那个时刻让我明白:我们的价值不在于发现多少Bug,而在于防止了多少潜在的灾难。本章,我们将一起探索质量工程的终极使命,并为你描绘测试工程师的未来发展蓝图。
2025-11-14 10:00:00
23
原创 从测试工程师到质量工程师——你的终极进化路线图
每周自检问题我本周是预防了缺陷还是仅仅发现了缺陷?我是否推动了流程改进而不仅仅是执行任务?我的工作是否让整个团队的质量意识有所提升?
2025-11-14 07:30:00
193
原创 测试工程师的护城河:在AI时代构建不可替代的核心竞争力
传统测试工程师的价值定位正在被颠覆,我们需要重新定义自己的角色。过去: Bug发现者 → 现在: 质量评估者 → 未来: 风险预防者传统能力模型(正在被自动化)手动测试执行,基础测试用例编写,简单Bug报告,工具使用能力。现代能力模型(不可替代)技术深度: 系统架构理解, 代码级测试能力, 性能分析与调优业务高度: 领域建模能力, 用户体验洞察, 业务风险识别工程广度: 质量体系设计, 自动化架构, 流程优化思维锐度: 批判性思维,系统性思考, 创新解决问题。
2025-11-13 11:30:00
189
原创 智能测试新纪元:如何用AI与模型驱动技术解放测试生产力
这个新需求有87个字段,不同组合下有上百种业务逻辑,我该从哪里开始设计测试用例?“每次代码改动都担心会引起意想不到的回归,但我们不可能无休止地增加自动化用例。这些是每个资深测试工程师都面临的经典困境:在无限的输入组合和有限的测试资源之间寻找平衡。传统方法已经触达瓶颈,而AI与模型驱动技术为我们打开了新的大门。我曾带领团队对一个核心交易系统进行重构。面对数千个测试用例和巨大的回归风险,我们引入智能测试生成技术,将用例设计效率提升了3倍,并发现了多个手工难以想到的边界场景。
2025-11-13 08:30:00
365
原创 跨越数据沼泽:处理复杂依赖与并发环境的测试数据策略
当你的自动化测试从单个接口验证发展到覆盖完整业务流程时,一个全新的挑战出现了:数据依赖。“要测试支付,得先有订单;要创建订单,得先有商品和用户。更令人头痛的是,当你的测试在CI流水线中并行运行时,多个任务同时在争夺有限的数据资源,数据竞争导致了各种看似随机的失败。我曾负责一个电商项目的全链路自动化,在引入并行执行后,成功率从100%暴跌至60%。经过深入排查,发现问题根源正是测试用例间的数据耦合与竞争。今天,我们就来攻克这一难关。
2025-11-12 09:00:00
22
原创 从工具到平台:测试开发工程师的价值跃迁之路
在你的团队中,是否经历过这样的场景?新人入职,需要花费两天时间配置测试环境、安装各种代理证书和依赖库。性能测试脚本散落在不同成员的机器上,版本混乱,无法复用。业务线A写了一套精美的Mock服务,业务线B却完全不知道,从头再造了一遍轮子。我曾用一周时间为团队开发了一个统一的Mock平台,从此接口联调时间缩短了70%。那个项目让我顿悟:编写一段精巧的脚本,能解决你一个人的问题;而打造一个易用的平台,能解决一个团队的问题。你的价值,也因此被放大十倍。
2025-11-11 14:00:00
154
原创 自动化测试的基石:高可用测试数据管理实战
脚本在我本地跑得好好的,一上CI就失败!” “这个用户已经被注册过了,谁能帮我清一下数据?“性能测试需要10万条数据,我难道要手动造到明天吗?这些困扰,根源往往不在代码逻辑,而在于测试数据。测试数据是自动化的“粮食”,粮食不足、变质或难以获取,再精锐的部队也会溃败。我曾亲眼见证一个投资数月的自动化项目,因为数据管理的混乱而最终搁浅。今天,我们就来系统性地解决这个问题。
2025-11-11 14:00:00
24
原创 测试工程师的破局之道:如何规划你的职业生涯以避免内卷
在技术领域,“内卷”是一个我们无法回避的词。它往往意味着重复性的劳动、低水平的竞争和可见的职业天花板。你可能已经感受到了:会Selenium的人越来越多,性能测试似乎也能被工具替代,AI甚至宣称要取代部分测试工作。但真相是:卷的不是行业,而是个体的思维和技能组合。2018年我转行时,也曾充满焦虑。但我发现,那些抱怨内卷的同行,往往多年停留在“被动执行者”的角色;而那些不断破局的同行,则早早完成了从“测试执行”到“质量保障”再到“工程效率”的认知跃迁。今天,我想与你分享的,就是这条破局之路。
2025-11-10 10:09:29
522
原创 持续集成:让你的自动化测试成为团队的“守夜人”
想象一下这个场景:凌晨三点,你被电话惊醒,线上出了严重的Bug。排查后发现,这是一个在测试环境完全没暴露的兼容性问题,只因某个开发在三天前提交了一段“微小”的改动。问题的根源不在于测试不努力,而在于反馈太迟。我曾亲身经历过这种痛苦,也正是这种痛苦让我意识到:孤立的自动化测试价值有限,只有融入流程,才能产生质变。今天,我们就来聊聊如何让你的自动化脚本化身“守夜人”,在每一次代码提交时自动苏醒,为产品质量站岗。
2025-11-10 10:08:54
26
原创 从脚本到框架:如何设计可维护的UI自动化测试架构
还记得我们之前写的那个 test_login.py 脚本吗?它工作得很好。但当你有10个、100个测试用例时,你会发现自己陷入了一场噩梦:修改一个元素的定位符,需要翻遍几十个文件。测试数据散落在各个角落,管理混乱。脚本无法在另一台电脑或环境上运行。团队协作时,代码风格各异,合并冲突不断。我曾接手过一个由“脚本堆”组成的项目,光是理解其逻辑就花了一周,维护成本远超手工测试。那一刻我明白:没有架构的自动化,本身就是最大的技术债。今天,我们就来搭建一个属于你自己的、坚固而灵活的自动化“堡垒”。
2025-11-09 10:30:00
34
原创 告别随缘测试:UI自动化元素定位“八式”,让你定位稳如磐石
在上一章,我们优雅地驾驭了接口自动化。但当我们回到UI层面,一个幽灵始终在徘徊——“元素定位不稳定”。你是否经历过:脚本今天能跑,明天就报 NoSuchElementException?同一个元素,有时要用XPath,有时要用CSS,毫无头绪?面对动态ID、嵌套iframe、Shadow DOM感到绝望?我曾在一个电商项目的搜索框上,因定位问题折腾了整整一个下午。最终我明白,元素定位不是碰运气,而是一门有法可依的工程艺术。今天,我就将这七年总结的“元素定位八式”传授于你。
2025-11-08 15:30:00
28
原创 接口自动化第一步:从“脚本小子”到“工程师”的蜕变
1. 安装Python如果你还没有Python,请前往 python.org 下载(建议不要下载最新版本)。安装时,请务必勾选 “Add Python to PATH” 选项。2. 安装必备库打开你的命令行(CMD或Terminal),输入以下命令。这是你成为“自动化工程师”的仪式感第一步。requests: 未来你将使用最频繁的库,用于发送HTTP请求。pytest: 一个非常强大且简单的测试框架,用于组织和运行我们的测试用例。验证安装: 在命令行输入 python 然后输入 import
2025-11-08 10:00:00
449
原创 测试员的“透视眼”:如何用抓包工具让你在团队中脱颖而出
在之前的章节中,我们探讨了深度手工测试和自动化思维。但你是否遇到过这样的场景?前端显示成功,但数据却没更新——开发说“后端API没问题”,后端说“我收到请求了”,问题在哪?一个操作莫名失败,日志里毫无线索,像个无头案。你想测试一个APP,但就是无法像在浏览器里那样“F12”轻松查看网络请求。当你学会我今天要分享的技能后,你将不再被动。你能直接看到数据在前后端之间的流动,精准定位问题归属,甚至能测试一些原本无法触及的角落。这个技能就是:抓包。
2025-11-07 16:15:00
328
原创 【免费】突破瓶颈:从手工测试到自动化,你必须跨越的3个思维障碍
在上一章,我们领略了手工测试的深度与魅力。但不可否认,重复的回归测试、频繁的冒烟测试,正在大量消耗我们的时间。几乎每个测试工程师都在思考同一个问题:“我该如何开始自动化?你可能已经看过很多教程,安装了Selenium,写了几行代码,但却感到迷茫:“这些代码在公司项目里怎么用?感觉为了自动化而自动化,反而更麻烦了。别急,这不是你的问题。根本原因在于,从手工到自动化,不是简单的工具切换,而是一场思维的革命。今天,我们就来击碎横在你面前的三大思维障碍。
2025-11-07 14:45:00
181
原创 【免费】实战指南:手工测试如何高效入门,快速在团队中创造价值
【免费】实战指南:手工测试如何高效入门,快速在团队中创造价值在开篇词中,我分享了我的转行起点。今天,我们直接切入最核心的实战环节。很多新人误以为“手工测试”就是“点点点”,技术含量低,这是最大的误解。手工测试不是自动化测试的“低级前奏”,而是测试思维、业务理解和缺陷敏感度的最佳练兵场。掌握它,你不仅能快速立足,更能为未来的技术飞跃打下坚不可摧的基础。我将通过一个你绝对熟悉的 【用户登录】 功能,带你看看,一名优秀的测试工程师是如何思考的。
2025-11-06 16:53:14
159
原创 【免费】开篇词:我的7年测试心法——如何持续成长并保持竞争力
你好,我是思-无-涯,一位在软件测试领域摸爬滚打了7年的老兵。如果你正在阅读这篇文章,或许是因为你对测试感兴趣,或许是想转行,又或许是在日常工作中感到了迷茫和瓶颈。无论你处于哪个阶段,我想先和你分享我的故事,因为我们的起点,可能一模一样。
2025-11-06 16:49:29
203
原创 软件测试入门——第十一课(工作中常用的SQL命令②)
我们都知道对数据库的操作主要涉及增删改查四种操作,前面已经介绍过新增和查询2种最基础也最常用的操作及命令了,本文继续分享修改和删除操作及命令,有些会结合其他命令一起。
2025-10-31 12:14:25
85
原创 软件测试入门——第十课(工作中常用的SQL命令①)
CREATE VIEW 是创建视图的关键字,viewname 是要创建的视图的名称,它是一个有效的标识符,受与表名相同的附加命名限制,视图名称可以是限定的(schema.viewname),也可以是不限定的(Viewname),未限定的视图名称采用默认架构名称。SELECT statement 是定义视图的 SELECT 语句,它可以从一个或多个表中查询数据,视图实际上并不存储数据,它只是一个虚拟表,其数据是根据 SELECT 语句从基表中动态获取的。:在多用户环境中,不同用户对数据的访问权限不同。
2025-10-31 11:59:45
168
原创 软件测试入门——第九课(SQL基础知识详解)
这里的意思是说,当我们在数据库中查询时,如果有相应的索引可用,数据库系统就会自动使用索引来提高查询效率,如果没有索引,查询也能正常执行,只是速度会变慢。反过来,如果我们先在学生表中定位了一行记录,例如ID=1的小明,要确定他的班级,只需要根据他的“班级ID”对应的值201找到班级表中ID=201的记录,即二年级一班。反过来,如果记录的列存在大量相同的值,例如gender列,大约一半的记录值是M,另一半是F,因此,对该列创建索引就没有意义。对于关系表,有个很重要的约束,就是任意两条记录不能重复。
2025-10-30 16:52:47
24
原创 软件测试入门——第八课(数据库介绍)
数据库是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。SQL是结构化查询语言的缩写,用来访问和操作数据库系统。SQL语句既可以查询数据库中的数据,也可以添加、更新和删除数据库中的数据,还可以对数据库进行管理和维护操作。不同的数据库,都支持SQL,这样,我们通过学习SQL这一种语言,就可以操作各种不同的数据库。虽然SQL已经被ANSI组织定义为标准,不幸地是,各个不同的数据库对标准的SQL支持不太一致。
2025-10-30 16:27:01
152
原创 JDK 环境安装及新手常见问题
注意:此处的变量值是安装的jdk目录下的bin文件夹的路径 + jre路径下bin文件夹的路径!每个人路径都可能不一样,一定要找到你自己的安装路径,是你自己的路径哈。一定要注意,你和截图的可能不一样,每个人路径都可能不一样,一定要找到你自己的安装路径,是你自己的。前置环境:此篇安装文档基于windows+64位的电脑,安装32位jdk(64位的电脑可同时兼容32位与64位,当然32位电脑只能装32位的)(如果需要可以更改为自己想安装的路径,点击“更改”即可,如果修改了安装路径一定要记清楚自己修改后的路径)
2025-10-18 18:19:20
669
原创 面试题1(附答案)
一、输入框1、字符型输入框:(1)字符型输入框:英文全角、英文半角、数字、空或者空格、特殊字符“~!@#¥%……&?[]{}”特别要注意单引号和&符号。禁止直接输入特殊字符时,使用“粘贴、拷贝”功能尝试输入。(2)长度检查:最小长度、最大长度、最小长度-1、最大长度+1、输入超工字符比如把整个文章拷贝过去。(3)空格检查:输入的字符间有空格、字符前有空格、字符后有空格、字符前后有空格。
2025-10-01 19:53:51
460
原创 练习题2(附答案)
表单的主要作用是接收用户的输入,当用户提交表单时,浏览器将用户在表单中输入的数据打包,并发送给服务器,从而实现用户与Web服务器的交互。Tcpdump是Linux系统自带的抓包命令,流经网卡的数据都能抓到,抓取到的内容比较多。但同时,特别是对于一个较大的网站的,涉及到上百甚至上千个页面,链接测试需要较大的测试量,因此,提高测试的效率成了网站链接测试的一个重要方面。是的,http协议的特征无连接,就是只浏览器与web服务器不会保持长时间的连接状态,只要客户端请求得到响应,连接就会断开。
2025-10-01 19:39:21
45
原创 练习题1(附答案)
B/S架构的特点是:用户使用方便,只需要一个浏览器就可以访问各个网站,网站升级后,用户不用升级,用户可以在第一时间使用到最新的功能,用户可以在电脑,手机,平板通过浏览器打开网站,具有运行在多个用户设备的能力。网站使用的协议主要有http和https,其中http使用的是80端口,https使用的是443端口。GET请求参数是通过浏览器地址栏发出的,长度限制255字节,内容是可以通过浏览器直接查看到的。B/S架构的特点是什么?B/S架构是目前主流的架构,常用于Web站点,其中B代表浏览器,S代表服务器。
2025-10-01 19:36:45
57
原创 接口测试全流程扫盲
接口主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。–百度百科简单的说就是通过URL像服务器或者其他模块等,传输我们想传输的数据,然后看看他们返回的是不是我们预期想要的。
2025-09-27 20:38:43
52
原创 接口测试策略及关注点
接口参数数据需对每个参数根据测试接口的实际的功能进行分析,在符合业务逻辑的情况下进行逻辑组合排列 ,不要遗漏了某些边界值和错误点的数据。同一功能点的用例又可根据测试环境的不同、数据的不同进行用例的填充。接口逻辑测试是指根据业务逻辑、输入参数、输出值的描述,对正常输入情况下所得的输出值是否正确的测试,也就是测试对外提供的接口服务是否正常工作。开发提供的接口文档需重点关注的内容:接口请求地址、接口参数个数与类型、接口的用途;a、模块接口参数的个数不一致(或多于原设计的参数个数,或少于原设计的参数个数)。
2025-09-27 20:30:32
626
原创 接口测试简介
1、什么是接口我们常说的接口一般指2种1)API:应用程序编程接口2)GUI:图形用户界面(接口)这里我们主要说API——接口测试2、接口测试的目的测试接口的正确性和稳定性(持续集成是接口测试的核心)3、接口测试的原理模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程。4、接口测试的重点检查数据的交换,传递和控制管理过程,还包括处理的次数5、接口测试用例设计。
2025-09-27 19:49:02
64
原创 接口测试入门
接口是连接前台和后台的桥梁,前台通过接口调用后端已完成的功能,而无需关注内部的实现细节。借助于接口,可以实现前后台分离,各自完成开发工作后,进行联调,提高工作效率。
2025-09-27 19:42:50
917
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅