当前位置:首页>Linux>测试新人必修课:Linux+MySQL,你与服务器“对话”的硬本领--连载中,第二周

测试新人必修课:Linux+MySQL,你与服务器“对话”的硬本领--连载中,第二周

  • 2026-10-11 07:55:18
测试新人必修课:Linux+MySQL,你与服务器“对话”的硬本领--连载中,第二周

AI再强,也砍不掉你对底层技术的理解。基础不牢,地动山摇——这句话在运维排查、数据验证时,一次一次被验证。

很多测试新人觉得:现在都有AI了,我是不是不用学Linux命令、不用写SQL了?直接让AI帮我查日志、帮我对数据不就行了?

千万别这么想。

AI确实能帮你生成命令、解释报错,但它没法替你登录服务器,也没法替你判断这条日志到底是关键还是噪音。你才是坐在电脑前、面对黑底白字终端的那个人。

基础技术,是你职业生涯的“压舱石”。 它不会让你一夜暴富,但能让你在风暴里站得稳。

今天这篇,我把测试新人必备的 Linux + MySQL 核心知识,按 基础 → 实战 → 面试 的逻辑,重新整理成一份可上手的提纲。看完你就能明白:为什么老测试们总说“不会看日志、不会查数据库,就像开车不看后视镜”。


一、Linux系统:你与服务器的“对话语言”

测试新人要先忘掉花哨的桌面操作。记住:你的工作成果——APP、网页、接口——最终都跑在Linux服务器上。你越早学会跟它对话,就越早摆脱“我只负责点按钮”的尴尬。

1.1 文件与目录管理(最基本的“走路”)

命令
作用
新人必知
pwd
看自己在哪个目录
迷路时救命
ls -la
列出当前目录所有文件(含隐藏)
-la
 比 ls 信息全得多
cd 路径
切换目录
cd ..
 返回上级
mkdir 目录名
新建目录
比如 mkdir logs
rm -rf 目录/文件
强制删除
⚠️ 用前先用 pwd 确认当前位置,删库跑路警告
cp 源 目标
复制
cp a.txt b.txt
mv 源 目标
移动或重命名
mv old.txt new.txt

🤖 AI提效:当你记不清某个命令的参数时,可以直接问AI:“Linux下如何强制删除非空目录?”它会给出答案甚至示例。但你自己要至少执行过一次,否则下次还是慌。

1.2 服务与进程控制(环境部署的“开关”)

测试环境里,你经常需要自己部署被测服务(比如开发丢给你一个jar包)。标准动作如下:

bash

# 1. 上传文件(如果支持rz命令)rz -y# 2. 赋予执行权限chmod777 app.jar# 3. 后台启动,并让进程忽略挂断信号nohupjava-jar app.jar &# 4. 确认进程是否在跑ps-ef|grepjava

如果服务假死、端口被占用,终极手段:

bash

# 查看占用8080端口的进程lsof-i:8080# 强制杀死(-9是终极信号)kill-9 进程ID

🤖 AI提效:你可以让AI帮你生成一个“一键部署脚本”,把上述命令串起来。但第一次你最好手动敲一遍——理解每一步在干什么,比会复制重要得多。

1.3 日志查看(定位问题的“眼睛”)

测试中最核心的命令,没有之一:

bash

# 实时滚动查看日志tail-f catalina.out# 过滤只看ERROR级别tail-f catalina.out |grep ERROR# 根据关键词搜索历史日志grep"订单号123" app.log

真实场景:开发说“服务重启好了,你测吧”。你执行 tail -f app.log,见证它从启动日志滚到“Started Application in 12.3 seconds”,才算真正放心。

🤖 AI提效:当你贴出一大段报错日志,可以问AI:“这个Java报错是什么意思?可能的原因有哪些?”AI能帮你快速翻译、给排查方向。但你需要自己学会复制日志、提取关键行。


二、MySQL数据库:验证数据一致性的唯一标准

前端页面显示“下单成功”不算数,你在数据库里亲眼看到那条订单记录,才叫验证通过。

测试对数据库的操作,核心就是 CRUD(增删改查),其中查询(R)和修改(U)是新人最常用的。

2.1 核心查询(SELECT)—— 测试的根本逻辑是“验证”

场景
SQL示例
说明
查特定字段
SELECT id, username, status FROM user WHERE username='test01';
不写 *,只取需要的列
多条件过滤
SELECT * FROM order WHERE status=1 AND create_time > '2026-01-01';
用 AND / OR 组合
模糊搜索
SELECT * FROM user WHERE username LIKE '%test%';%
 代表任意字符
多表关联(JOIN)
SELECT o.order_no, u.username FROM order o INNER JOIN user u ON o.user_id = u.id;这是从初级到进阶的关键

🎯 为什么要学JOIN:订单表里只有 user_id,用户名存在用户表。不关联,你查不到“哪个用户下的单”。面试必考。

2.2 数据修改(UPDATE / DELETE)—— 千万带上WHERE

正确姿势:

sql

-- 先SELECT确认SELECT*FROMorderWHERE order_no ='001';-- 确信没问题后,再UPDATEUPDATEorderSETstatus='paid'WHERE order_no ='001';

安全铁律:在执行任何 UPDATE 或 DELETE 之前,必须先用同样的 WHERE 条件执行 SELECT *,确认你想改的就是这1条(或几条)数据。

💀 反面教材:UPDATE order SET status='paid'; —— 忘了加 WHERE,整张表都被你改成已支付了。这是测试环境灾难,也是你提桶跑路的起点。

🤖 AI提效:当你需要批量造测试数据时,可以给AI一段示例数据,让它生成多条 INSERT 语句。比如“帮我生成10条订单INSERT,订单号从ORD001到ORD010,状态为pending”。AI能秒出,你只需改几个字段值。


三、实战:把网络、Linux、MySQL串起来

结合一个真实的“电商支付失败”场景,看看一个懂基础的测试是如何从症状到病灶的:

现象:用户在APP上支付时,一直转圈,最后提示“系统繁忙”。

👣 你的排查英雄路径:

  1. 网络层面(看表象)用 Charles 抓包,发现支付接口返回 HTTP 500。说明服务端内部炸了,不是前端问题。

  2. Linux层面(找根源)SSH 连上服务器,cd 到日志目录,执行:tail -f app.log | grep ERROR屏幕上滚出一行:Caused by: java.sql.SQLSyntaxErrorException: ...

  3. 数据库层面(验假设)你复制日志里那条报错的SQL:SELECT * FROM order where id = 'abc'但订单表的 id 字段是 整数类型,不该加引号。开发在参数校验处漏掉了类型转换,导致数据库做了全表扫描超时。

  4. 精准提Bug你提交的缺陷报告不再是“支付失败,请修复”,而是:

    支付接口返回500,服务器日志捕获到SQL语法错误(见附件截图)。根因疑似:接口参数order_id为字符串,但SQL中直接拼接未做类型转换,导致数据库异常。建议:后端增加参数类型校验。

用证据和数据说话,这就是你专业性的最大体现。

🤖 AI提效:你复制一行错误日志给AI,它就能帮你分析“这是哪种异常、可能原因、常见解法”。但你仍然得亲自登上服务器、复制日志——AI没法替你做这一步。


四、高频面试题速答(理解,而非死记)

Linux相关

Q:怎么查看实时日志?A:tail -f 日志文件。日志量大时会配合 grep “ERROR” 过滤。

Q:怎么后台启动一个Spring Boot服务并忽略挂断信号?A:nohup java -jar app.jar &。这样关闭终端,服务也不会停。

Q:服务器返回500错误,怎么排查?A:三步走:① 查服务器资源(top / free);② 查应用日志(tail -f);③ 验数据库连通性和SQL。

MySQL相关

Q:如何验证订单取消功能?A:不仅看前端提示,还要去数据库执行 SELECT status FROM order WHERE order_no='xxx',确认状态码从待支付变为已取消。

Q:准备测试环境数据时,怎么批量造数?A:用 INSERT INTO ... VALUES (...), (...), (...); 一次插入多条,或写个简单的存储过程。也可以让AI帮你生成批量SQL。

Q:JOIN有什么作用?A:当需要的数据分散在多张表时,通过关联字段(如 user.id = order.user_id)把数据拼在一起。比如查订单时带着用户名。


写在最后:从“功能测试”到“质量保障工程师”

拿到一个Bug,不要只复现和转述。试着往前多走一步:

  • 查一下这个接口的入参和返回值(抓包)。

  • 登到服务器上看看那条报错日志(Linux)。

  • 连上数据库,瞅一眼数据到底落没落(SQL)。

这个从“症状”到“病灶”的探查过程,就是你从 “功能测试执行者” 走向 “质量保障工程师” 的真正起点。

基础扎实了,再用AI去放大你排查问题的能力——那时效率才会是真正的飞跃。而不是反过来:基础稀烂,让AI帮你猜。


如果你想要本文提到的所有Linux命令速查表、SQL练习脚本、支付失败完整排查流程图,扫码加我微信 AITestLaoXi,免费领取,拉你进测试人AI提效群。

我是一个笨人,也是一个懒人。我能学会,你肯定也能。研究透了我才会讲,希望给你带来一点帮助。

你那么帅,那么美,觉得有用?点个在看、分享给还在手动点来点去的测试新人。

最新文章

随机文章