学习笔记:海外社区论坛 - 自动化测试入门
学习记录:把海外社区论坛场景下的自动化测试整理成一篇入门笔记,结合个人实践,并与 AI 一起补全结构,便于按模块与方法查阅。
若你在测需要长期回归的社区类产品,希望这篇能当落地路线图用。
适合对象:准备从接口自动化起步、逐步搭建稳定回归的同学;文中不默认你已熟悉某一框架或 CI 流水线细节。
阅读提示:全文按「基础概念 → 论坛自动化实战 → 专项方法 → 用例、脚本与总结」四块展开;配合页面 TOC 或下方折叠目录跳转。第 11~22 章对应登录、发帖、互动、Feed、搜索与通知私信等主链路,宜优先沉淀接口层断言与数据清理策略。
章节目录(共 38 章,点击展开,条目可点击跳转)
- 为什么要学习自动化测试
- 什么是自动化测试
- 自动化测试和手工测试有什么区别
- 自动化测试适合测什么
- 自动化测试不适合测什么
- 接口自动化、UI 自动化、单元测试分别是什么
- 自动化测试的基本流程是什么
- 自动化测试需要准备什么
- 自动化测试常用工具有哪些
- 新手应该从哪里开始学自动化
- 社区论坛哪些场景适合自动化
- 注册登录自动化怎么做
- 用户资料自动化怎么做
- 发帖自动化怎么做
- 评论与回复自动化怎么做
- 点赞、收藏、关注自动化怎么做
- Feed 信息流自动化怎么做
- 搜索自动化怎么做
- 通知消息自动化怎么做
- 私信自动化怎么做
- 举报与审核自动化怎么做
- 多语言和时区接口自动化怎么做
- 接口自动化怎么入门
- UI 自动化怎么入门
- 自动化用例怎么设计
- 自动化断言怎么写
- 自动化测试数据怎么准备
- 环境变量和 Token 怎么管理
- 自动化测试报告怎么看
- 自动化脚本失败怎么定位
- 自动化测试如何接入 CI/CD
- 自动化测试如何维护稳定性
- 自动化测试的风险和注意事项
- 自动化测试用例怎么写
- 自动化脚本设计思路
- 自动化失败问题怎么提交
- 新手常见误区
- 最后总结
第一部分:自动化测试基础概念
如果你是自动化测试新手,建议先完整学习这一部分。
如果你已经了解接口自动化和 UI 自动化,可以直接跳到 第二部分:海外社区论坛自动化测试实战。
1. 为什么要学习自动化测试
前面你已经学习了很多测试内容:
功能测试 |
这些内容里,有些需要人工判断,有些可以交给脚本重复执行。
例如每次版本发布前,都要验证:
- 用户能否登录
- 用户能否发帖
- 用户能否评论
- 用户能否点赞
- 未登录不能发帖
- 普通用户不能删除别人帖子
- Feed 接口能正常返回
- 搜索接口能正常返回
这些场景稳定、重复、规则明确,就适合做自动化测试。
1.1 自动化测试能解决什么问题
| 问题 | 自动化能带来的价值 |
|---|---|
| 每次版本都要重复回归 | 脚本自动执行,减少重复劳动 |
| 核心流程容易漏测 | 自动化固定覆盖核心路径 |
| 接口数量很多 | 批量执行接口用例 |
| 回归时间太长 | 缩短回归周期 |
| 改动频繁 | 快速发现基础功能是否被影响 |
| 线上前风险验证 | 发布前快速跑冒烟测试 |
1.2 自动化测试不能解决所有问题
自动化不是万能的。
它更适合验证:
确定性的、重复的、稳定的、可断言的场景 |
不适合完全替代:
- 新需求理解
- 复杂体验判断
- UI 美观判断
- 探索性测试
- 一次性临时功能测试
- 强依赖人工判断的内容审核结果
所以自动化测试不是替代手工测试,而是帮助测试同学把重复工作沉淀下来。
2. 什么是自动化测试
自动化测试就是:
使用工具或代码代替人工执行测试步骤,并自动判断测试结果是否符合预期。
简单理解:
手工测试:人一步一步操作和判断 |
例如接口自动化可以做到:
调用登录接口 |
2.1 自动化测试的核心
自动化测试核心不是“会写代码”,而是:
知道哪些用例值得自动化 |
3. 自动化测试和手工测试有什么区别
| 对比项 | 手工测试 | 自动化测试 |
|---|---|---|
| 执行方式 | 人操作 | 脚本执行 |
| 适合场景 | 新功能、复杂判断、探索测试 | 稳定流程、重复回归、接口验证 |
| 成本特点 | 初始成本低,重复成本高 | 初始成本高,重复成本低 |
| 结果判断 | 人判断 | 断言判断 |
| 维护成本 | 用例文档维护 | 脚本、数据、环境维护 |
| 常见风险 | 漏测、效率低 | 脚本不稳定、维护困难 |
3.1 举个例子:发帖功能
手工测试:
打开 App |
接口自动化:
调用登录接口 |
UI 自动化:
启动 App 或浏览器 |
4. 自动化测试适合测什么
适合自动化的场景通常有这些特点:
- 流程稳定
- 结果明确
- 经常回归
- 不需要复杂人工判断
- 数据可准备
- 环境可控
- 执行成本高但重复频率高
4.1 社区论坛适合自动化的场景
| 场景 | 是否适合 | 原因 |
|---|---|---|
| 登录接口 | 适合 | 稳定、基础、经常回归 |
| 发帖接口 | 适合 | 核心流程,结果可断言 |
| 评论接口 | 适合 | 高频核心功能 |
| 点赞接口 | 适合 | 幂等和状态可验证 |
| Feed 接口 | 适合 | 核心接口,回归价值高 |
| 搜索接口 | 适合 | 可验证返回结构和基础结果 |
| 权限接口 | 适合 | 越权结果明确 |
| 图片上传 | 部分适合 | 接口可测,UI 上传稳定性稍差 |
| 复杂 UI 动画 | 不太适合 | 结果难断言,脚本易不稳定 |
| 内容审核准确性 | 部分适合 | 流程可测,判断质量需人工或固定样本 |
5. 自动化测试不适合测什么
以下场景不建议一开始就自动化:
- 需求还不稳定的功能
- 页面经常改版的功能
- 需要人工判断美观的 UI
- 只测试一次的临时功能
- 第三方授权非常不稳定的 UI 链路
- 复杂图片/视频内容人工判断
- 强依赖短信、邮箱、真实第三方环境的流程
5.1 新手容易误解的点
不是所有手工用例都要变成自动化用例。
自动化用例应该优先选择:
核心流程 + 高频回归 + 稳定接口 + 明确断言 |
不要一开始就追求覆盖所有页面,否则脚本会非常难维护。
6. 接口自动化、UI 自动化、单元测试分别是什么
6.1 接口自动化
接口自动化是直接调用接口并判断返回结果。
适合:
- 登录
- 发帖
- 评论
- 点赞
- 权限校验
- 参数校验
- 分页
- 数据一致性基础检查
优点:
- 稳定性高
- 执行快
- 维护成本相对低
- 不依赖页面
建议新手优先从接口自动化开始。
6.2 UI 自动化
UI 自动化是模拟用户在页面或 App 上操作。
适合:
- 冒烟测试
- 核心主流程
- 登录发帖等关键路径
- Web 后台简单回归
缺点:
- 脚本容易受页面变化影响
- 执行较慢
- 定位问题比接口自动化复杂
6.3 单元测试
单元测试一般由开发同学编写,用于测试某个函数或方法是否正确。
测试同学可以了解,但不一定作为第一阶段重点。
7. 自动化测试的基本流程是什么
自动化测试通常包括这些步骤:
选择自动化场景 |
7.1 自动化不是写完就结束
自动化脚本需要长期维护。
例如:
- 接口字段变了,要更新脚本
- 页面元素变了,要更新定位
- 测试账号失效,要更新数据
- 环境地址变了,要更新配置
- 业务规则变了,要更新断言
所以自动化测试不是一次性工作,而是一套持续维护的资产。
8. 自动化测试需要准备什么
8.1 准备接口文档和稳定环境
需要:
- 测试环境地址
- 接口文档
- 测试账号
- 管理员账号,按需求
- 测试数据
- 是否有验证码绕过方案
- 是否有稳定的测试 Token 获取方式
- 是否有测试数据库或清理数据方式
8.2 准备工具和语言
常见选择:
| 类型 | 工具 |
|---|---|
| 接口调试 | Postman、Apifox |
| 接口自动化 | Postman Runner、Apifox 自动化、pytest、requests、JMeter、k6 |
| Web UI 自动化 | Selenium、Playwright、Cypress |
| App UI 自动化 | Appium、Airtest |
| 测试报告 | Allure、HTML Report、平台自带报告 |
| CI/CD | Jenkins、GitHub Actions、GitLab CI |
新手建议路线:
Apifox/Postman 调试接口 |
9. 自动化测试常用工具有哪些
9.1 Postman / Apifox
适合新手入门接口自动化。
能做:
- 保存接口集合
- 设置环境变量
- 设置前置脚本和后置断言
- 批量运行接口
- 生成简单报告
9.2 Python + pytest + requests
适合进一步系统化接口自动化。
优点:
- 灵活
- 易扩展
- 适合数据驱动
- 适合接入 CI
- 适合生成报告
9.3 Playwright / Selenium
适合 Web UI 自动化。
例如:
- Web 登录
- Web 发帖
- 后台审核
- 后台列表查询
9.4 Appium / Airtest
适合 App UI 自动化。
例如:
- App 登录
- App 发帖
- App 评论
- App 私信
但 App UI 自动化维护成本较高,新手不建议一开始就大规模做。
10. 新手应该从哪里开始学自动化
建议从接口自动化开始。
原因:
- 你已经学过接口测试
- 接口结果更容易断言
- 接口脚本比 UI 脚本稳定
- 执行速度快
- 更适合回归测试
推荐学习路径:
1. 熟练用 Apifox/Postman 调接口 |
第二部分:海外社区论坛自动化测试实战
这一部分开始进入项目实战。
社区论坛自动化不要一开始追求“大而全”,建议先覆盖核心稳定流程,再逐步扩展。
11. 社区论坛哪些场景适合自动化
优先自动化这些场景:
| 优先级 | 场景 | 原因 |
|---|---|---|
| P0 | 登录、刷新 Token、退出登录 | 所有功能基础 |
| P0 | 发帖、帖子详情查询 | 社区核心链路 |
| P0 | 评论、回复 | 高频互动 |
| P0 | 点赞、取消点赞 | 高频且易回归 |
| P0 | 权限越权接口 | 风险高,结果明确 |
| P1 | Feed 列表 | 核心浏览入口 |
| P1 | 搜索 | 高频入口 |
| P1 | 通知未读数 | 易出现数据问题 |
| P1 | 关注、收藏 | 高频互动 |
| P2 | 私信 | 受环境和实时链路影响,逐步覆盖 |
| P2 | 举报审核 | 流程长,但回归价值高 |
12. 注册登录自动化怎么做
注册登录自动化要谨慎,因为它经常涉及验证码、邮箱、短信、第三方授权。
12.1 登录接口自动化
适合优先做。
流程:
调用登录接口 |
断言点:
- HTTP 状态码正确
- 业务 code 成功
- 返回 Token 不为空
- 返回 userId 正确
- 使用 Token 能访问登录态接口
12.2 注册自动化
注册自动化要考虑测试数据清理。
适合场景:
- 邮箱格式校验
- 密码规则校验
- 重复注册校验
- 验证码错误校验
不建议频繁自动创建大量真实账号,除非有清理机制。
12.3 第三方登录自动化
第三方登录 UI 自动化通常不稳定。
建议优先自动化后端接口层:
- 授权 code 为空失败
- 授权 code 错误失败
- 已绑定账号登录成功,使用模拟或测试桩,按项目条件
真实 Google / Apple 授权流程不建议作为高频自动化回归主链路。
13. 用户资料自动化怎么做
用户资料接口适合自动化。
13.1 修改资料自动化流程
登录用户A |
断言点:
- 修改接口返回成功
- 查询接口返回新昵称
- 用户B不能修改用户A资料
- 超长昵称修改失败
- 特殊字符昵称按规则处理
13.2 注意事项
自动化修改资料后,最好恢复原数据,避免影响其他用例。
例如:
测试前记录原昵称 |
14. 发帖自动化怎么做
发帖是最适合接口自动化的核心链路之一。
14.1 发帖成功链路
登录用户A |
14.2 发帖异常自动化
适合自动化的异常场景:
- title 为空失败
- title 超长失败
- topicId 不存在失败
- 未登录发帖失败
- 被禁言用户发帖失败
- 用户B不能编辑用户A帖子
- 重复提交按规则处理
14.3 测试数据清理
自动化发帖会产生测试数据。
需要考虑:
- 用例结束后删除帖子
- 使用测试专用板块
- 标题加自动化标识,例如
AUTO_TEST_POST_时间戳 - 定期清理自动化数据
15. 评论与回复自动化怎么做
评论自动化要依赖已有帖子。
15.1 评论成功链路
登录用户A创建帖子 |
15.2 回复成功链路
用户B评论帖子 |
15.3 异常场景
- 空评论失败
- 超长评论失败
- 未登录评论失败
- 被禁言用户评论失败
- 评论已删除帖子失败
- 用户A不能删除用户B评论,按需求判断
16. 点赞、收藏、关注自动化怎么做
这些接口非常适合自动化,因为结果明确。
16.1 点赞自动化
流程:
准备帖子 P001 |
重点断言:
- 重复点赞不重复加数
- 重复取消不出现负数
- 未登录点赞失败
- 已删除帖子点赞失败
16.2 收藏自动化
断言点:
- 收藏成功
- 收藏列表包含该帖子
- 取消收藏成功
- 收藏列表不再包含该帖子
- 重复收藏不重复生成记录
16.3 关注自动化
断言点:
- 用户A关注用户B成功
- 用户A关注列表包含用户B
- 用户B粉丝列表包含用户A
- 不能关注自己
- 重复关注不重复增加数量
- 取消关注后列表更新
17. Feed 信息流自动化怎么做
Feed 自动化要注意:推荐流结果可能不稳定。
17.1 适合自动化的断言
Feed 不适合强断言“某条帖子一定排第一”,除非是测试环境固定数据。
适合断言:
- 接口返回成功
- list 是数组
- 字段完整
- pageSize 生效
- nextCursor 存在或为空符合规则
- 不返回已删除帖子
- 不返回审核失败帖子
- 分页之间无重复,按测试数据判断
17.2 推荐流注意事项
推荐流可能受算法影响,不稳定。
自动化中不要过度依赖推荐排序。
更适合测试:
- 最新流
- 关注流
- 指定板块流
- 测试专用数据流
18. 搜索自动化怎么做
搜索自动化适合使用唯一关键词。
18.1 搜索成功链路
创建标题唯一的帖子:AUTO_SEARCH_时间戳 |
18.2 搜索异常场景
- keyword 为空
- keyword 为空格
- keyword 超长
- 特殊字符搜索
- 无结果搜索
- 分页查询
- 多语言关键词搜索
18.3 注意事项
搜索可能有索引延迟。
自动化中要避免立即强断言,可以:
- 等待固定短时间
- 重试几次
- 查询接口确认索引状态,按项目能力
- 使用已有稳定搜索数据
19. 通知消息自动化怎么做
通知自动化要关注异步延迟。
19.1 评论通知自动化流程
用户A创建帖子 |
19.2 注意事项
通知可能异步生成。
自动化中可以设置:
- 等待重试
- 最大等待时间
- 超时后失败
不要只立即查一次就判断失败。
20. 私信自动化怎么做
私信自动化可以先从接口层做。
20.1 发送消息链路
用户A发送消息给用户B |
20.2 实时消息自动化
WebSocket 或实时消息自动化更复杂,可以作为后续提升。
新手阶段先覆盖:
- 发送接口
- 会话列表接口
- 消息列表接口
- 未读状态接口
21. 举报与审核自动化怎么做
举报审核流程较长,但核心链路适合自动化。
21.1 举报自动化流程
用户A创建帖子 |
21.2 审核自动化流程
用户A发布待审核内容 |
21.3 注意事项
审核自动化要注意不要影响真实审核数据。
建议:
- 使用测试专用板块
- 使用测试专用风险词
- 使用测试审核员账号
- 自动化数据加明显标识
22. 多语言和时区接口自动化怎么做
海外项目可以把多语言和时区能力沉淀成接口自动化。
22.1 多语言 Header 自动化
测试:
Accept-Language: en-US |
断言:
- 接口返回语言符合预期
- 不支持语言使用默认语言
- 错误提示语言正确
- 枚举值不因语言变化而错乱
22.2 时区 Header 自动化
测试:
X-Timezone: Asia/Singapore |
断言:
- 时间字段格式正确
- 不同时区展示符合产品规则
- 错误时区有兜底
- 活动开始/结束时间转换正确
第三部分:自动化测试专项方法
这一部分不是某个具体模块,而是一套可以复用的方法。
自动化测试的关键不是写很多脚本,而是写出稳定、可维护、能持续产生价值的脚本。
23. 接口自动化怎么入门
接口自动化建议从简单链路开始。
23.1 第一个接口自动化场景
推荐从登录接口开始:
1. 调用登录接口 |
这是后续所有接口自动化的基础。
23.2 接口自动化基本结构
一个接口自动化用例通常包括:
前置条件 |
24. UI 自动化怎么入门
UI 自动化适合做少量核心冒烟,不建议新手一开始大规模做。
24.1 Web UI 自动化适合场景
- 登录成功
- 发帖成功
- 搜索成功
- 后台审核通过
- 后台筛选查询
24.2 App UI 自动化适合场景
- App 启动
- 登录
- 进入首页
- 发帖主流程
- 评论主流程
24.3 UI 自动化注意事项
- 页面元素定位要稳定
- 不要依赖频繁变化的文案
- 等待机制要合理
- 不要用固定 sleep 过多
- UI 脚本失败要截图
- 优先覆盖核心主流程
25. 自动化用例怎么设计
25.1 自动化用例选择原则
优先选择:
- P0 核心链路
- 高频回归场景
- 稳定接口
- 结果明确
- 数据可控
- 失败影响大的场景
不优先选择:
- 需求变化频繁
- 依赖人工判断
- 强依赖第三方不稳定环境
- 数据难清理
- 页面频繁改版
25.2 自动化用例分层
建议分成:
| 层级 | 内容 |
|---|---|
| 冒烟用例 | 登录、发帖、评论、点赞等最核心流程 |
| 回归用例 | 常用模块接口和权限场景 |
| 专项用例 | 多语言、权限、风控、数据一致性等 |
| 稳定性用例 | 定时执行、监控核心接口健康 |
26. 自动化断言怎么写
断言就是自动判断结果是否符合预期。
26.1 常见断言
- HTTP 状态码正确
- 业务 code 正确
- message 正确,按需求判断
- data 不为空
- 返回字段存在
- 字段类型正确
- 字段值等于预期
- 列表长度符合预期
- 数据状态正确
- 权限失败时数据未变化
26.2 不好的断言
只断言接口返回 200 |
这不够。
因为接口返回 200,也可能业务失败。
26.3 好的断言示例
发帖成功用例应断言:
- HTTP 状态码成功
- 业务 code 成功
- postId 不为空
- 查询详情成功
- 详情标题等于请求标题
- 作者 ID 等于当前用户 ID
27. 自动化测试数据怎么准备
自动化测试最难的部分之一是数据。
27.1 数据准备方式
| 方式 | 说明 |
|---|---|
| 预置数据 | 提前准备固定账号和帖子 |
| 接口造数 | 用接口在用例前创建数据 |
| 数据库造数 | 直接写入数据库,需谨慎和授权 |
| Mock 数据 | 模拟接口返回,适合部分场景 |
| 随机数据 | 使用时间戳避免重复 |
27.2 数据清理
自动化用例执行后要考虑清理:
- 删除测试帖子
- 删除测试评论
- 取消点赞
- 取消关注
- 恢复用户资料
- 清理测试通知,按需求判断
如果不清理,测试环境会越来越脏。
28. 环境变量和 Token 怎么管理
28.1 常见环境变量
| 变量 | 示例 |
|---|---|
| base_url | 测试环境接口地址 |
| userA_email | 用户A邮箱 |
| userA_password | 用户A密码 |
| userA_token | 用户A Token |
| admin_token | 管理员 Token |
| topic_id | 测试板块 ID |
28.2 Token 管理
不要手动复制 Token 到每个请求中。
建议:
登录接口执行后自动提取 Token |
28.3 安全注意
不要把真实密码、Token 提交到公共代码库。
测试账号密码也要按团队规范管理。
29. 自动化测试报告怎么看
自动化报告至少要看:
- 总用例数
- 通过数
- 失败数
- 跳过数
- 失败原因
- 失败截图,UI 自动化
- 请求和响应,接口自动化
- 执行耗时
- 历史趋势
29.1 失败结果怎么判断
自动化失败不一定都是产品 Bug。
可能是:
- 产品 Bug
- 脚本问题
- 测试数据问题
- 环境问题
- 网络问题
- 接口文档变更
- Token 失效
- 第三方服务异常
所以自动化失败后要先分析,再提交 Bug。
30. 自动化脚本失败怎么定位
定位思路:
先看失败用例名称 |
30.1 常见失败原因
| 现象 | 可能原因 |
|---|---|
| 登录失败 | 账号密码变更、账号被锁、环境异常 |
| 发帖失败 | Token 失效、参数变化、用户状态异常 |
| 查询不到数据 | 数据未创建成功、搜索索引延迟 |
| UI 找不到元素 | 页面改版、定位方式不稳定 |
| 用例偶现失败 | 异步延迟、网络波动、等待不足 |
| 所有接口失败 | 环境挂了或 base_url 错误 |
31. 自动化测试如何接入 CI/CD
CI/CD 是持续集成和持续交付。
自动化测试接入 CI 后,可以在代码提交、版本构建、发布前自动执行。
31.1 常见触发方式
- 每次代码提交后执行
- 每次构建后执行
- 每天定时执行
- 发布前手动触发
- 合并主分支前执行
31.2 适合接入 CI 的用例
优先接入:
- 冒烟用例
- 接口核心链路
- 权限高风险用例
- 稳定且执行快的用例
不建议一开始接入:
- 不稳定 UI 用例
- 强依赖第三方登录 UI 的用例
- 执行时间很长的全量用例
32. 自动化测试如何维护稳定性
自动化最大问题之一是“不稳定”。
32.1 提高稳定性的方法
- 使用稳定测试环境
- 使用固定测试账号
- 用例之间尽量独立
- 每个用例准备自己的数据
- 避免依赖执行顺序
- 异步场景使用合理重试
- UI 自动化使用稳定元素定位
- 定期清理测试数据
- 脚本失败及时维护
32.2 用例独立性
不好的设计:
用例2依赖用例1创建的帖子 |
如果用例1失败,后面全部失败。
更好的设计:
每个用例自己准备需要的数据 |
33. 自动化测试的风险和注意事项
33.1 常见风险
- 自动化脚本维护成本过高
- 脚本频繁误报
- 测试数据污染环境
- 过度依赖自动化,忽略手工探索
- 自动化覆盖了很多低价值用例
- 敏感账号密码管理不当
- CI 中失败无人关注
33.2 注意事项
- 先小范围试点
- 优先做接口自动化
- 优先覆盖核心链路
- 脚本要有人维护
- 失败结果要有人分析
- 自动化用例要定期清理和优化
第四部分:用例、脚本设计、问题与总结
自动化测试不是单纯写脚本,而是把稳定、有价值、可重复执行的测试流程沉淀成长期资产。
34. 自动化测试用例怎么写
自动化测试用例建议包含:
- 用例编号
- 模块
- 自动化类型
- 前置条件
- 测试数据
- 操作步骤
- 断言点
- 数据清理方式
- 优先级
34.1 用例模板
| 字段 | 示例 |
|---|---|
| 用例编号 | AUTO_API_POST_001 |
| 模块 | 发帖 |
| 自动化类型 | 接口自动化 |
| 前置条件 | 用户A已登录,测试板块存在 |
| 测试数据 | title=AUTO_TEST_POST_时间戳,content=auto test content |
| 操作步骤 | 调用创建帖子接口,再调用详情接口 |
| 断言点 | 创建成功;postId 不为空;详情标题和正文正确 |
| 数据清理 | 删除测试帖子 |
| 优先级 | P0 |
34.2 示例用例:点赞幂等自动化
| 字段 | 内容 |
|---|---|
| 用例编号 | AUTO_API_LIKE_001 |
| 模块 | 点赞 |
| 自动化类型 | 接口自动化 |
| 前置条件 | 存在正常帖子 P001,用户A已登录 |
| 测试数据 | postId=P001,userA_token |
| 操作步骤 | 用户A连续调用点赞接口 3 次,再查询帖子详情 |
| 断言点 | likeStatus=true;likeCount 只增加一次;不生成重复点赞记录 |
| 数据清理 | 取消点赞 |
| 优先级 | P0 |
35. 自动化脚本设计思路
35.1 分层设计
建议把脚本分成几层:
接口请求层 |
简单理解:
- 接口请求层:负责发送请求
- 业务封装层:负责登录、发帖、评论这些业务动作
- 测试用例层:负责组织测试步骤和断言
- 测试数据层:负责账号、标题、内容、ID
- 配置层:负责环境地址、Token、语言等
- 报告层:负责展示结果
35.2 为什么要分层
如果不分层,脚本会变得很乱。
例如每个用例都手写登录请求、发帖请求、断言逻辑,后面接口一变,所有地方都要改。
分层后,只需要改封装方法。
36. 自动化失败问题怎么提交
自动化失败先判断是否产品 Bug。
如果确认是产品 Bug,再提交。
36.1 自动化失败记录应包含
- 自动化执行时间
- 执行环境
- 失败用例名称
- 失败步骤
- 请求参数
- 响应结果
- 断言失败原因
- 相关测试数据 ID
- 是否手工复现
- 截图或日志
36.2 示例 Bug
标题
[自动化回归][接口] 被禁言用户发帖接口返回成功 |
来源
自动化回归任务:API Smoke Test |
实际结果
被禁言用户调用创建帖子接口,接口返回 code=0,并返回 postId。 |
预期结果
被禁言用户不允许发帖,接口应返回账号受限错误,不应创建帖子。 |
补充信息
已手工使用同账号复现。 |
37. 新手常见误区
37.1 一开始就做 UI 自动化大而全
UI 自动化维护成本高。
新手建议先从接口自动化开始。
37.2 自动化用例没有断言
只执行步骤,不判断结果,不叫有效自动化。
例如只调用发帖接口,但不检查 postId 和详情内容,就是不完整的。
37.3 测试数据不清理
自动化长期运行会产生大量脏数据。
要设计清理机制。
37.4 用例之间强依赖
一个用例失败,后面一串失败,会导致定位困难。
尽量让用例独立。
37.5 自动化失败没人看
自动化不是跑完报告就结束。
失败结果必须有人分析,否则自动化没有价值。
38. 最后总结
自动化测试的核心不是“写很多脚本”,而是要理解:
哪些场景值得自动化? |
对于海外社区论坛项目,最适合优先自动化的方向是:
- 登录接口
- 发帖接口
- 评论接口
- 点赞、收藏、关注接口
- 权限越权接口
- Feed 基础接口
- 搜索基础接口
- 通知未读数接口
- 用户资料接口
- 多语言和时区 Header 基础校验
- 冒烟级 UI 主流程
你可以记住一个万能自动化测试公式:
稳定场景 + 明确断言 + 可控数据 + 可重复执行 + 可维护脚本 = 有价值的自动化测试 |
例如:
登录接口 + 断言 Token + 固定测试账号 + 每次回归执行 + 统一封装登录方法 |
只要你先从接口自动化的小闭环做起,再逐步扩展到 UI 自动化和 CI 集成,自动化测试能力就会越来越成熟。





