软件测试到底是个什么工作?看这一篇就懂了
阅读时间:约 6 分钟
关键词:软件测试 | 零基础入门 | 薪资待遇 | Bug | 测试工程师
01|先说几个真实故事
2018年,波音737 MAX在起飞后几秒内坠毁。最终调查原因是一个传感器软件数据错误——一个代码Bug,让两架飞机、346条人命瞬间消失。
2016年,某电商系统出现”薅羊毛”漏洞,一晚上损失数百万。
你手机里那个”加载转圈转不出来”的App,那个”支付按钮点了没反应”的页面——全他妈是Bug。
所以,什么是软件测试?
说白了:就是找Bug、找软件里一切不对的地方。
用手工或者工具,去验证”我预期的结果”和”软件实际跑出来的结果”之间到底差多少。差出来的那个东西,就是Bug。
就这么简单。
02|开发自己不会测吗?为什么需要你?
很多人问我:软件开发工程师不能自己测自己的代码吗?
当然不能。 原因就三个字:
思维定式。
“开发自测的时候会有一个思维定式——我后台写了哪些业务,我就去验证哪些。没写的,我根本不会想到去验证。”
而且,开发写的代码是自己的”亲儿子”,谁舍得往死里测?
但你不一样。你是专业的第三方,你的任务就是想方设法把问题全部挖出来。
这就是你存在的价值。
03|Bug不只是报错,还包括这5种
你以为Bug只是”点按钮崩了”?
错。Bug有5种形态:
| 类型 | 举例 |
|---|---|
| 少功能 | 要求有”忘记密码”,结果根本没有 |
| 多功能 | 电商系统多了个”身份证登录”,但收集敏感信息违规 |
| 功能错误 | 输入正确账号密码,结果登录失败 |
| 隐性缺陷 | 登录成功了,但没跳转到主页,体验极差 |
| 体验差 | 加载要3秒,页面布局混乱,找不到按钮 |
任何一条,都是Bug,都要记录在案。
04|测试原来分这么多种
很多小白以为测试就是”点点点”,太天真了。

测试至少有3种分类维度:
① 按阶段分(软件生产流程)
造一辆车 → 先测零件(单元测试)→ 组装后测(集成测试)→ 整体验车(系统测试)→ 客户提车(验收测试)
② 按你能不能看到代码分
| 类型 | 你能看到代码吗 | 测什么 |
|---|---|---|
| 黑盒测试 | ❌ 看不到 | 只测功能:点这个按钮对不对 |
| 灰盒测试 | ⚠️ 看一部分 | 测接口:数据传得对不对 |
| 白盒测试 | ✅ 完全透明 | 测代码本身:逻辑有没有问题 |
③ 工作中常说的特殊测试
-
冒烟测试:开发提测了,先测核心功能能不能跑,跑不通直接打回
-
回归测试:修复了一个Bug,顺便再测一遍相关功能,确认没引入新问题
开发修Bug的时候,有可能会引发新的Bug——这是常态,所以回归测试必须做。
05|一个软件要从8个维度去”验收”
专业测试工程师拿到一个软件,不只是”功能能不能用”。
要测8个维度,质量模型:
| 维度 | 测什么 |
|---|---|
| 功能性 | 功能数量对不对,实现准不准 |
| 性能 | 10000人同时在线会不会崩,加载快不快 |
| 兼容性 | 不同手机、不同浏览器、不同系统能不能用 |
| 易用性 | 用户一学就会吗,体验顺不顺 |
| 安全性 | 数据传输加密了吗,密码泄露风险有吗 |
| 可靠性 | 跑24小时会不会死机、崩溃 |
| 可移植性 | 数据迁移到新系统方不方便 |
| 可维护性 | 后期加新功能,现有代码改起来难不难 |
国内实战中,前5项是必测的。 后面三项更多是架构层面的要求。
06|测试用例:把”测试点”写成标准文档
光脑子里知道测什么还不行,要写成文档,方便自己和团队执行。
这就是”测试用例”,有8大要素:

① 用例编号(项目简称-模块-序号)② 用例标题(预期结果+测试点)③ 所属模块④ 优先级(P0最高→P3最低)⑤ 前置条件(执行前需要准备什么)⑥ 测试步骤(一步一步怎么操作)⑦ 测试数据(具体输入什么值)⑧ 预期结果(应该出现什么)
举个例子,登录功能的一条用例:
用例编号:CRM-Login-001用例标题:登录成功(账号正确+密码正确+勾选协议)前置条件:账号已注册,且已打开登录页面测试步骤:①输入账号 ②输入密码 ③勾选协议 ④点击登录测试数据:账号=已注册手机号,密码=8位合格密码(大小写+数字)预期结果:登录成功,跳转到个人主页隐性结果:显示”欢迎回来,XXX”
数据要独立写,不要合并在步骤里——后期修改时你就知道为什么了。
07|发现Bug怎么提交?给开发一个精准的”病历单”
发现Bug不是截个图丢给开发就完事了。
要填写一份”缺陷单”,核心内容包括:
-
指派给谁:前端还是后端,选对人
-
Bug类型:代码错误?设计错误?
-
Bug标题:带上测试点+预期结果+实际结果,做到”见名知意”
-
严重程度:特别严重 / 高 / 中 / 低
-
优先级:今天修 / 明天修 / 下个版本
-
复现步骤:前置条件→步骤→数据→实际结果
-
附件:截图、日志文件,帮助开发定位
写Bug标题有个小技巧:带上”测试点+预期结果+实际结果”,别人一看就懂。
08|工资真的高吗?市场需求到底怎么样?
说点实际的。
根据行业招聘数据:
| 工作年限 | 平均月薪 |
|---|---|
| 1-3年 | 11K+ |
| 3-5年 | 16K+ |
| 5年以上 | 22K+ |
而且,相对于开发岗位,测试的工作强度相对更可控——开发编码的时候,测试更多在准备用例、等提测、执行测试。
“一个人也许走得很快,但一群人会走得更远。”
再加上AI工具的加持,现在测试工程师可以用AI自动生成测试用例、自动写自动化代码,效率翻倍。 越早学会用AI的测试,薪资越高。
09|零基础怎么快速入门?学习路径来了
小白入门软件测试,推荐这样学:
-
软件测试基础(测试定义、分类、原则)
-
客户端测试(Web端功能测试 + App功能测试)
-
测试用例设计(8大要素 + 等价类/边界值等方法)
-
缺陷管理(Bug提交 + 跟踪流程)
-
兼容性/性能/安全等非功能测试
-
AI工具赋能(用AI提效整个测试流程)
记住一个原则:
-
基础理论 → 理解即可
-
客户端测试 → 理解 + 动手练习
-
AI工具使用 → 掌握提问技巧
📌 总结一下:
软件测试,就是找Bug的工作。
它不需要你会写很深的代码,但需要你有缜密的逻辑、细心的眼睛、以及一颗不放过任何问题的较真心。
门槛低、需求大、薪资可观——对零基础想进IT行业的人来说,软件测试是性价比最高的切入口。
你现在在哪个阶段?有任何测试相关的问题,评论区聊。
如果觉得有用,转发给你那个想转行的朋友,说不定救了他一命。
下期见。
夜雨聆风