别把找到工作===技术能力水平
除了自身学历学校这种硬性条件,其他还是看你自身的推销能力
面试 30 分钟其实是看不出你有多少东西的,无非就是看你会不会营造自己有东西的感觉
别太纠结于简历上的技术栈自己会不会,全力复习面试问题就行,把简历发给 ai,然后让 ai 去提有深度的问题
你可以加上自己从 0 到搭建某一系统的自动化(有没有都没关系),问题你能回答出来就行,【面试是纯主观的,看的就是个人喜好】,不是高考这种选拔性考试。你自己意会一下。
找工作不要太老实,也不要有什么愧疚心理,要跟渣男一样,广撒网,有鱼上钩就行,只求进入公司但是不放在心里
我这里提一个很普遍且很简单的场景,一个非常经典、简单的小 BUG,应该符合楼主打标的标准
bug 背景:
如何解决接下来的这些麻烦:
1“进入注册页”
这个注册页如果需要先登录才能访问?AI 如何获取有效的测试账号和密码?是要在 bug 单里写上测试帐号和密码?还是在配置文件里加上通用的测试帐号和密码?
出于安全合规的要求,测试账号都需要区分环境(开发 / 测试 / 预发)、定期轮换密码、处理账号状态(被锁 / 过期 / 权限变更),每次账号变动都要人工同步更新 AI 配置吗?
若进入注册页有其他事件的弹窗干扰,怎么处理?
2” 找到用户名输入框 “
3” 断言 “
【“前端未有长度提示限制、无截断操作、能发起提交” 这一描述对人类清晰,但对 AI 是模糊的】
-【前端未有长度提示限制】提示是文本(如 "最多 20 字符")还是图标?出现在输入框上方还是下方?是否有特定 role="alert"属性?这些细节若不在 BUG 描述中写明,AI 会陷入猜测;若要写清,本质是让测试人员提前完成 "断言设计",AI 沦为执行工具,却额外支付了 AI 调用成本
【无截断操作】AI 在输入 21 个字符后,是否需要执行 await input.value() 来获取输入框的值,并断言其长度等于 21?,截断逻辑是 "输入时实时截断" 还是"失焦后截断” 这些都要在 bug 单上写明吗?
如果提示有了,但是截断逻辑没有修复,填写了 21 个字符后产生报错提示。AI 是否能验证提交? 检查提交按钮的 disabled 属性是否为 false?还是让 AI 真正点击提交按钮,然后判断是否发出请求?
我让 AI 生成可以让 AI 回归更快捷的 bug 单,它给出以下回复
https://test.testerhome.com/addUser
){TEST_ACCOUNT}
,密码:{TEST_PWD}
,从环境变量读取)//button[text()='同意并继续']
(定位器固定)步骤编号 | 操作类型 | 具体指令(含定位器/参数) | 执行约束条件 |
---|---|---|---|
1 | 页面访问 | 打开 URL:https://test.testerhome.com/addUser ,等待页面加载完成(判断标准://form[@id='register-form'] 可见) |
超时时间:10 秒,失败则标记 “环境异常” |
2 | 元素定位 | 定位用户名输入框:page.getByLabel('用户名', {exact: true}) (备选定位器://input[@name='username'] ) |
若主定位器失败,自动尝试备选 |
3 | 输入操作 | 向输入框输入固定字符串:"testuser1234567890abcdef" (共 25 字符,纯英文无特殊符号) |
输入速度:每字符间隔 50ms,模拟人工输入 |
4 | 提交操作 | 定位提交按钮://button[@type='submit' and text()='注册'] ,执行点击操作 |
点击前确认按钮disabled 属性为false
|
//div[@class='error-hint' and @for='username']
)value
属性blur()
操作,再断言值长度/api/register
)username
字段长度必须≤20(后端截断场景)username
长度=25 → 判定 BUG 未修复//div[@id='error-page']
可见):视为后端报错,判定 BUG 未修复就如果按 AI 这个写法,一个三四分钟就能回归的简单 bug,足足在 bug 单上就耗时至少 20 分钟
最后业务测试做多的人都会知道,bug 回归的核心是 “验证动态变化的功能”,就是 UI 可能改、逻辑可能调、异常场景可能新增
毕竟是面向人的验证工作,当然我不是找茬,只是感觉想用 AI 去做回归,真心有点难
这种对提单的要求都很高,而且要统一格式,我个人感觉光是规范流程和严格执行提 bug 的方式都不是一件容易的事
这感觉怎么有点像我打标些 bug 给实习生回归练手的场景。。。。期待你完成看下效果了
你这比训练一个大模型都难,,,,,,,
既然你离职了,那当她的话是放屁就好了,不用在意什么,她在享受管理的感觉,在你啵嘴之后,她不爽找茬而已。事实上这种旁枝末节的东西,你怎么写都可以挑刺,或许就是想把你恶心走,然后让她的姐妹入职而已,不要老是用技术思维去看问题
根据我自己的和面试时问的,大部分自动化报错原因会是如下
然后如果要保证回归质量,减少不必要的排错,就跟楼上说的一样,做好高可维护的测试用例是目标,需要做到这一点就不得不提一个必要条件:充分理解业务
你做这种 WEB3 的工资只 +1K 吗???亏大了,这种是灰色地带
挺多小年轻们意识不到,他现在比其他人好找工作,挺大一部分原因是因为年轻
现在实习挺看学历
先找业务,再去想技术,建议你校招狂投跟金融或者银行相关的
【接口测试新手应该怎样开始呢?团队就一个测试,还一直在做功能测试。既要做功能测试,又要研究功能测试自动化。一直没有推行接口自动化。但是看好多 jd 也提到了接口测试。性能测试这些。
团队里边现在没有前辈指导,也没有经验参考。以资深测试专家的角度,参考市面上大多数公司的做法,详细的指导我】
作为资深测试专家,结合你 “单人测试岗、需兼顾功能/功能自动化、无前辈指导” 的实际场景,我会从 “基础认知→手动落地→自动化进阶→流程融入→性能入门” 五个阶段,给出可落地的详细指导,完全贴合市面上中小团队的接口测试推行路径。
新手最容易犯的错是 “上来就学工具”,但没搞懂底层逻辑,遇到问题会无从下手。这一阶段核心是 “建立认知,和现有功能测试关联”,降低学习成本。
概念 | 解释(用功能测试类比) | 为什么重要? |
---|---|---|
接口 | 后端开发写的 “功能服务入口”(比如 “登录” 功能,前端点按钮是 UI,后端接收账号密码的服务就是接口) | 接口是前后端/服务间的桥梁,90% 的问题根源在接口,而非 UI |
HTTP/HTTPS 协议 | 接口通信的 “语言”(类似 UI 操作时的 “点击/输入” 规则) | 所有接口测试都基于协议,不懂协议就看不懂请求/响应 |
请求三要素 | 方法(GET/POST 等)、URL、参数(请求头/请求体) | 相当于功能测试的 “操作步骤”,缺一个就测不了 |
响应三要素 | 响应码(200/404/500 等)、响应头、响应体 | 相当于功能测试的 “预期结果”,判断接口是否正常 |
RESTful API 规范 | 主流接口设计风格(比如用 GET 查数据、POST 增数据、DELETE 删数据) | 90% 公司用 REST 风格,懂规范才能看懂接口文档 |
接口依赖 | 比如 “查订单” 接口需要 “登录” 接口返回的 token(类似功能测试 “先登录才能查订单”) | 处理依赖是接口测试的核心难点之一 |
Content-Type
:告诉后端请求体格式,如application/json
;Authorization
:放登录 token)。JSON
(比如{"username":"test","password":"123456"}
),要能看懂 JSON 结构(键值对、数组)。你没有前辈指导,接口文档是唯一依据,优先找这两类:
Swagger
(常见地址如http://开发环境IP:端口/swagger-ui.html
),直接打开就能看所有接口,还能在线调试(新手友好)。不要一上来就搞自动化!先手动测,因为你正在做功能测试,可以把 “接口测试” 嵌入功能测试流程(比如测 “登录功能” 时,既点 UI,也用工具测登录接口),边测边熟悉业务,零额外成本。
Postman 是接口测试入门神器,先学基础操作(1 天就能上手):
Content-Type: application/json
;{"username":"test123","password":"123456"}
);"code":200
和"token":"xxx"
。pm.test("响应码是200", function () {pm.response.to.have.status(200);});
)→再发送请求,看 “Test Results” 是否通过。你做过功能测试,用例设计逻辑是相通的,重点覆盖 “接口特有的场景”:
| 用例类型 | 设计思路(以 “登录接口” 为例) | 举例 |
| ------------ |---------------------------------------------------| --------------------------------- |
| 正常场景 | 符合接口文档的合法参数 | 正确的用户名 + 正确密码,预期返回 token 和 200 码 |
| 参数缺失 | 少传必填参数(比如登录接口少传 “password”) | 只传 username,预期返回 400 码和 “密码不能为空” 提示 |
| 参数错误 | 类型错(比如 “age” 应该是数字,传字符串)、格式错(比如手机号少 1 位)| 密码传 “123”(实际要求 6 位),预期返回 400 码 “密码长度不够” |
| 权限场景 | 未登录访问需权限接口、普通用户访问管理员接口 | 不戴 token 访问 “查订单” 接口,预期返回 401 码 “未授权” |
| 数据边界 | 传空值、最大值、重复数据(比如新增用户,用户名已存在) | 用户名传空字符串,预期返回 400 码 “用户名不能为空” |
| 接口依赖场景 | 先跑依赖接口,再跑目标接口(比如先登录拿 token,再用 token 查订单) | 登录→拿 token→填到 “查订单” 接口的请求头→测查订单接口 |
你已经在研究功能自动化,接口自动化比功能自动化简单(不用处理 UI 定位、元素等待),核心是 “用代码代替手动点 Postman”。
bash
pip install requests # 处理HTTP请求
pip install pytest # 测试框架
pip install allure-pytest # 生成美观的测试报告(可选,推荐)
先写一个简单脚本,跑通 “发送请求→断言→执行” 流程:
# 1. 导入需要的库
import requests
import pytest
# 2. 写测试用例(用Pytest的@Test装饰器)
def test_login_success():
# 接口信息(从文档复制)
url = "http://你的测试环境IP:端口/api/user/login" # 接口URL
headers = {"Content-Type": "application/json"} # 请求头
data = {"username": "test123", "password": "123456"} # 请求体(JSON格式)
# 3. 发送POST请求(用Requests库)
response = requests.post(url=url, headers=headers, json=data) # json参数会自动处理格式
# 4. 断言(和手动测试的预期一致)
assert response.status_code == 200 # 断言响应码是200
assert response.json()["code"] == 200 # 断言响应体里的code是200
assert "token" in response.json() # 断言响应体里有token(登录成功的关键)
# 5. 执行脚本:在PyCharm里右键→Run "pytest xxx.py",看结果是否通过
# 查订单接口用登录 token
def test_query_order():
token = get_login_token() # 调用登录函数拿 token
url = "http://IP:/api/order/query端口"
headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} # 把 token 放进请求头
response = requests.get(url=url, headers=headers)
assert response.status_code == 200
- **问题2:数据驱动(同一接口测多组数据,比如不同密码的登录场景)**
用Pytest的`@pytest.mark.parametrize`装饰器,不用写多个函数:
```python
@pytest.mark.parametrize("username,password,expect_code,expect_msg", [
("test123", "123456", 200, "success"), # 正常登录
("test123", "12345", 400, "密码错误"), # 密码错误
("", "123456", 400, "用户名不能为空") # 用户名空
])
def test_login_multi_data(username, password, expect_code, expect_msg):
url = "http://IP:端口/api/user/login"
data = {"username": username, "password": password}
response = requests.post(url=url, json=data)
assert response.json()["code"] == expect_code
assert expect_msg in response.json()["msg"] # 断言提示信息
pytest test_login.py --alluredir=./allure-results
allure serve ./allure-results
(会自动打开浏览器显示报告)不要一开始就想覆盖所有接口,先选 3-5 个核心接口写自动化脚本,跑通 “脚本→报告→问题反馈” 流程,再逐步扩展。比如:
你是单人测试岗,接口测试的价值不仅是 “自己测”,还要让它成为 “开发→测试” 的协作环节,减少重复工作。
建议调整你的测试流程,更早发现接口问题(减少后期 UI 层定位问题的时间):
graph TD
A[开发提交代码] --> B[开发自测接口(用Swagger)]
B --> C[你用Postman/自动化脚本跑核心接口测试]
C --> D{接口是否通过?}
D -- 是 --> E[开始功能测试(UI层)]
D -- 否 --> F[反馈开发修复,重新走A-C]
如果你已经有自动化脚本,可以集成到 Jenkins(很多公司用),实现 “代码提交后自动跑接口测试”:
接口性能测试比 UI 性能测试简单,核心是 “测接口在高并发下的表现”,新手先学 “基础流程” 即可。
不用记复杂指标,先关注 4 个核心:
JMeter 是性能测试主流工具,新手可以 “复用 Postman 的接口”,不用重新写请求:
JSON
文件(Postman→集合→右键→Export);时间 | 阶段目标 | 核心任务 | 输出成果 |
---|---|---|---|
第 1 个月 | 能独立完成手动接口测试 | 1. 学 HTTP 协议和 Postman;2. 测 2 个模块的接口;3. 输出接口测试用例 | 接口测试用例文档、手动测试 bug 清单 |
第 2 个月 | 能写核心接口的自动化脚本 | 1. 学 Python+Requests+Pytest;2. 写 5 个核心接口的自动化脚本;3. 集成 Allure 报告 | 自动化脚本、每日测试报告 |
第 3 个月 | 接口测试融入流程 + 性能测试入门 | 1. 把脚本集成到测试流程;2. 学 JMeter 测 2 个核心接口的性能;3.(可选)集成 Jenkins | 性能测试报告、CI 自动执行任务 |
按照这个路径,3 个月后你不仅能掌握接口测试,还能在简历上写上 “独立完成接口手动 + 自动化测试,落地性能测试基础流程”——完全满足市面上大部分公司的 JD 要求。关键是 “边学边用”,用实际项目的接口练手,遇到问题解决问题,比单纯看教程进步快 10 倍。
职场上都是对人不对事的(如果有人说不是,不要相信这种场面话)
建议社区的朋友们都要看看这部电影,我经常会拿出来警惕下
里面的飞全到死都不知道自己错在那里
别老是盯着测试啦,很多岗位的工资其实不比测试低
饿了么这么多年一直不温不火,直到在淘宝加个 tab 变成淘宝闪购后,居然变成双赢的局面,业务这种东西有时就是这么奇怪,之前的产品肯定都是想着怎么使用推荐算法去获取新用户和维持老用户活跃度,结果把外卖入口引入,就能让用户一天至少打开三次淘宝
类比场景:就好像 K8S、docker 这些东西,实际情况就是能接触的测试人不多,没实践机会学完就忘,也很难学到位,但是经不住大部分有进取心的测试去学,然后再感叹学完没多大用。
说到底的关键就是有没有平台和机会去让你实践这些道理,而机会和平台是可遇不可求
实践了之后,就会开始相信运气和命
外包本来就是极度不稳定的,挺正常
你看下你之前签的合同,然后咨询下相关律师,在社区问是没用的
看 13 年到现在每年的大学生毕业数量,我个人觉得往后几年开始,裁员的人数将会大幅提升,不管是出于 Z 策压力还是出于新鲜血液更换
先什么都不做,小组开会时问问你的下属他们想做什么,汇聚总结后,再跟你的领导讨论看看,同意了就安排下然后交给下面的人去做,不同意那就继续这个循环。还有想想你的前组长为什么要跳去产品组,以后是不是也要学习下他
出门在外,人设是自己给的,社区里的人说的话都不要太当真
谢谢夸奖 ,我的确在公司里是和光同尘,在风险规避和防背锅这方面有独到的见解
25 岁
你这个是面向什么业务设计的?80% 的识别成功率影响不大吗?
如果是我,我会问这几个问题:
另外你的描述,给我一种你没有 在实际业务测试中用过这个测试框架的感觉,否则 80% 的成功率你都写出来?
你想想识别成功率是 80%,不考虑其他因素,算你一条用例的成功率是 80%,若一次回归测试有 50 个用例,全部成功的概率仅为 0.8⁵⁰ ≈ 0.0001%(几乎为 0),这意味着几乎每次执行都会出现失败,这就是我上面想问的,如果每次执行都会出现识别率问题,那你们的精力是不是都分散到区分是实际 bug 还是识别问题?
这好事,也正常,说明是干实事的人来面试了
你感到困惑,是因为你被那种不干测试活却标榜自己是测试的人误导了
那类人就很喜欢问研发类的专精问题