【AI测试】04 | 测试设计:怎么测才不会漏?用这个 Skill 文件(playwright-core-features-testing)
导入到 Trae CN 之后,它会更准确地按照 5 要素帮你设计用例,而且不会遗漏常见场景。
我遇到的问题
前面几篇我们讲了怎么定位元素、怎么让测试不崩溃。但还有一个更重要的问题我一直没说——到底该怎么测?我刚做测试的时候,写出来的东西大概是这样的:
typescripttest('上传功能', async ({ page }) => { await page.getByPlaceholder('工具名称').fill('测试工具'); await page.click('上传按钮'); // 完事});
看起来没问题?跑起来也通过了。
但上线之后呢?各种 bug 冒出来了——用户没填名字就点了上传、用户输入了一堆乱码、用户网络断了……这些情况我一个都没测到。
后来我才明白:不是我的代码写得不好,是我根本不知道该测什么。
一个简单的方法:5 要素
后来我总结了一个方法,叫”5 要素测试”。说白了就是,设计测试用例的时候,你要覆盖这 5 个方面:
|
|
|
|
|---|---|---|
| 正向 |
|
|
| 负向 |
|
|
| 边界值 |
|
|
| 异常 |
|
|
| 完整流程 |
|
|
就这么简单。不需要背什么理论,记住这 5 个词就行。
为什么负向测试最重要?
这里有个反直觉的结论:负向测试(测错误情况)应该比正向测试(测正常情况)多。
为什么?因为正向测试一般都能通过——开发写代码就是为了让它正常工作的。但错误情况呢?开发很容易忽略。
推荐的比例:
- 正向测试:30%
- 负向测试:40%(最多)
- 边界值测试:20%
- 异常测试:10%
也就是说,你写的测试里,”找茬”的应该比”验证好用”的还多。
优先级怎么分?
测试用例多了之后,你不可能每次都全跑一遍。所以需要分优先级:
|
|
|
|
|---|---|---|
| P0 |
|
|
| P1 |
|
|
| P2 |
|
|
比如上传功能:
- P0:页面能打开、填对数据能提交成功、走完整个流程
- P1:不填名字报错、超长文字处理、特殊字符处理
- P2:网络错误时的提示、权限不足的处理
这样开发改完代码后,你只跑 P0 就行,几分钟出结果。发布前再跑 P0 + P1。
怎么告诉 Trae 帮你设计?
好了,原理讲完了。实际操作时,你不需要自己一个个想测试用例——让 Trae 帮你就行。
在 Trae CN 的对话窗口里,你可以这样说:
请帮我测试 sogoodtool.com 的上传功能。页面信息:
- 需要先登录(账号 test@sogoodtool.com / Test1234)
- 上传页面地址:https://sogoodtool.com/#/upload
- 表单有两个必填项:工具名称、工具描述
- 还有一个上传按钮
要求:
- 按 5 要素来设计:正向、负向、边界值、异常、完整流程
- 负向测试要多一些(约占 40%)
分成 P0/P1/P2 三个优先级
Trae 会给你返回类似这样的测试用例列表:
P0 核心功能:
- 页面能正常加载
- 填写有效数据后能提交成功
- 登录→上传的完整流程能走通
P1 重要功能:
- 不填工具名称时显示错误提示
- 不填工具描述时显示错误提示
- 工具名称超长时的处理
- 输入特殊字符时的处理
P2 次要功能:
- 分类下拉框能否选择
- 访问控制切换是否正常
关键一步:审查 Trae 给你的用例
很多人到这里就直接用了。别这样。
你需要花一两分钟检查一下:
- 5 要素都覆盖了吗? 正向有了吗?负向有了吗?(负向够多吗?)边界值有了吗?
- 有没有遗漏的重要场景? 比如:未登录的人访问上传页面,应该跳转到登录吧?这个 Trae 可能漏了。
- 优先级合理吗? 页面加载是 P0 吗?应该是的。
如果发现遗漏,直接告诉 Trae:
用例不错,但漏了几点:
- 没有未登录访问的测试(应该跳转到登录页)
- 没有网络错误的测试
帮我补上。
Trae 会补充这些用例。然后再让它生成代码就行。
我踩过的坑
坑 1:只测正向
我以前觉得,用户正常使用就行了,谁会故意乱填?结果上线后被各种奇葩输入搞得措手不及。
现在我的习惯:先想”用户可能怎么搞砸它”,再想”正常情况下好不好用”。
坑 2:所有用例都是 P0
有一次我写了 50 个测试用例,全标成高优先级。结果跑一次要半小时,而且我不知道哪些才是真正重要的。
现在我会严格分 P0/P1/P2。P0 一般就 3-5 个,几分钟就能跑完。
坑 3:用例太细太难维护
我之前写过 100 多个测试用例,每个只测一件小事。后来 UI 改版,几十个用例要跟着改,改得我想哭。
现在的原则:一个用例测一个完整场景,别拆得太碎。
想省时间?用 Skill
上面说的这些方法,我已经整理成了一个 Skill 文件(playwright-core-features-testing)。导入到 Trae CN 之后,它会更准确地按照 5 要素帮你设计用例,而且不会遗漏常见场景。
这个 Skill 在知识星球里可以下载。扫码加入就行:
微信扫码加入「Bigtalk软件测试进阶」
星球里还有其他几个 Skill,覆盖了从入门到进阶的主要内容,后面几篇会逐一介绍。

下篇预告
下一篇讲一个很多测试人员都会忽视的问题:为什么负面测试比正面测试更重要?
这里面有一个经典的 Myers 测试理论,理解了它,你对”什么是好的测试”会有全新的认识。
下一篇:《【Trae CN 自动化测试】05 | 为什么你的测试总是发现不了 Bug?》,敬请期待

夜雨聆风