内部工具

测试用例生成

上传需求文档或原型目录,自动生成测试用例 JSON 和 XMind。

进入工具

Appium移动端自动化:稳定性从定位策略开始

发表评论 1568 浏览量

Appium移动端自动化:稳定性从定位策略开始

2023年8月记录,分类「自动化测试」。这篇按当时的测试现场整理,重点放在目标、动作和可复用的检查点。

不稳定来源

移动端自动化的稳定性,很多时候不是 Appium 本身的问题,而是定位策略太脆弱、等待条件太粗、测试机状态不可控。

这类问题如果只写结论,过一段时间就很难复用,所以我把判断依据也留了下来。

定位策略

  • 优先推动开发补 accessibility id。
  • 等待业务元素出现,不用固定 sleep。
  • 用例前清理通知、权限弹窗和历史登录状态。
el = WebDriverWait(driver, 10).until(
    lamb

阅读全文

Nginx反向代理问题:502、超时和真实IP

发表评论 1647 浏览量

Nginx反向代理问题:502、超时和真实IP

2023年7月记录,分类「服务器运维」。这里不追求大而全,主要记录一个测试点从发现到落地的过程。

常见现象

Nginx 问题经常被简单归为 502,但背后可能是 upstream 不通、uWSGI 没启动、超时太短、真实 IP 传递错误。

整理时我特意把输入、动作、观察点和风险拆开,方便后面补用例。

链路检查

  • 先从 Nginx error.log 判断是连接失败还是上游超时。
  • 确认 upstream 地址、端口和容器 IP 是否变化。
  • 检查 X-Forwarded-For、Host、超时和 body 大小限制。
nginx -t
tail

阅读全文

Redis缓存一致性测试:命中、穿透和延迟双删

发表评论 1781 浏览量

Redis缓存一致性测试:命中、穿透和延迟双删

2023年6月记录,分类「接口测试」。这篇更像工作笔记,记录的是一次问题拆解和复用清单。

问题背景

缓存一致性问题最麻烦的是偶现。页面看起来正常,但接口、数据库、缓存可能在短时间内不一致,所以测试要把时间线拉出来。

我当时想确认的不是工具能不能跑,而是这个点能不能稳定地变成测试资产。

三类场景

  • 先验证缓存命中和未命中两条路径。
  • 更新数据后观察数据库值、缓存值和页面展示。
  • 对延迟双删场景记录删除时间、重建时间和并发请求结果。
redis-cli GET order:10001
redis-cli TTL order:10001
redis-

阅读全文

按OWASP API Security Top 10 2023补安全用例

发表评论 1751 浏览量

按OWASP API Security Top 10 2023补安全用例

2023年5月记录,分类「安全测试」。内容按测试执行视角整理,尽量把背景、操作和验收口径讲清楚。

补用例的入口

OWASP API Security Top 10 2023 我不会逐条照搬,而是把它映射到当前系统的用户、租户、对象和接口类型上。

对测试来说,最后要落到可复现、可验证、可交接,文章也是按这个思路写的。

怎么映射业务

  • 先找对象级授权、认证、资源消耗这几类高风险接口。
  • 对批量查询、导出、详情、状态变更重点补越权用例。
  • 把扫描结果和手工复现请求放在同一个缺陷里。
API1: 对象级授权
API4: 资源消

阅读全文

Locust压测脚本:用户模型比并发数更重要

发表评论 1733 浏览量

Locust压测脚本:用户模型比并发数更重要

2023年4月记录,分类「Locust」。这是一篇偏实战的记录,保留了当时的判断过程和后续沉淀。

先别问并发

Locust 写起来很自由,也容易写偏。并发数只是表面,真实业务里用户会登录、浏览、停留、提交,动作比例比一个固定并发更重要。

记录这篇的目的,是让下次遇到同类问题时少走一轮弯路。

用户行为建模

  • 把用户行为拆成任务,并设置接近真实的权重。
  • wait_time 不设成 0,保留用户思考时间。
  • 压测账号和业务数据提前准备并可回收。
class WebUser(HttpUser):
    wait_time = between(1, 5

阅读全文

Mock Server在联调阶段能解决什么问题

发表评论 1809 浏览量

Mock Server在联调阶段能解决什么问题

2023年3月记录,分类「接口测试」。这篇按当时的测试现场整理,重点放在目标、动作和可复用的检查点。

联调痛点

Mock Server 不是为了逃避真实联调,而是在下游未完成、异常场景难构造时,先把前端和主流程推进起来。

我更关注它在真实提测流程里怎么落地,而不是单独演示一个命令或脚本。

Mock边界

  • 按接口契约返回固定成功、失败、超时三类响应。
  • Mock 数据和契约文件一起维护,避免口头约定。
  • 联调通过后尽快切回真实服务做一次完整回归。
{
  "code": 0,
  "data": {&quo

阅读全文

GitLab CI跑接口自动化的最小闭环

发表评论 1780 浏览量

GitLab CI跑接口自动化的最小闭环

2023年2月记录,分类「持续集成」。这里不追求大而全,主要记录一个测试点从发现到落地的过程。

最小闭环

GitLab CI 跑接口自动化,我先做最小闭环:拉代码、装依赖、跑用例、留报告。复杂能力后面再加,先保证失败有人看。

这类问题如果只写结论,过一段时间就很难复用,所以我把判断依据也留了下来。

CI里放什么

  • 按环境变量传入 host、账号和 token,不写死在仓库。
  • pytest 输出 junit 和 html 两份报告。
  • 失败时保留请求日志,方便不用进 Runner 也能定位。
api-test:
  script:
    - pyt

阅读全文

Allure报告怎么服务于问题定位

发表评论 1729 浏览量

Allure报告怎么服务于问题定位

2023年1月记录,分类「测试工具」。这篇更像工作笔记,记录的是一次问题拆解和复用清单。

报告不是装饰

Allure 报告如果只展示通过率,价值很有限。我更关心失败用例点进去以后,能不能直接看到请求、响应、截图、日志和环境信息。

整理时我特意把输入、动作、观察点和风险拆开,方便后面补用例。

附件怎么放

  • 接口失败附上 curl、响应体和 traceId。
  • UI 失败附截图、页面地址和浏览器 console。
  • 按模块、优先级、失败类型打标签,方便筛选。
allure.attach(resp.text, name="response",

阅读全文

年终接口稳定性巡检清单

发表评论 2068 浏览量

年终接口稳定性巡检清单

2022年12月记录,分类「接口测试」。内容按测试执行视角整理,尽量把背景、操作和验收口径讲清楚。

巡检范围

年底做接口巡检,我不会把所有接口平均扫一遍,而是优先看高频、资金、权限、导出、批量操作这些风险更高的接口。

我当时想确认的不是工具能不能跑,而是这个点能不能稳定地变成测试资产。

怎么抽样

  • 按调用量、缺陷历史和业务重要性给接口分级。
  • 核心接口补充异常参数、重复提交和权限用例。
  • 把线上告警和客服反馈反查到接口清单。
接口分级: P0资金 / P1核心流程 / P2普通查询
巡检维度: 调用量、缺陷数、告警数、最近变更

重点风险

  • P0/P1 接口都有负责

阅读全文

Jenkins流水线部署Django测试环境

发表评论 2191 浏览量

Jenkins流水线部署Django测试环境

2022年11月记录,分类「持续集成」。这是一篇偏实战的记录,保留了当时的判断过程和后续沉淀。

为什么接流水线

Django 测试环境以前靠手工进服务器拉代码、重启 uWSGI,问题是每个人操作习惯不同。接到 Jenkins 后,至少能保证部署步骤一致。

对测试来说,最后要落到可复现、可验证、可交接,文章也是按这个思路写的。

流水线步骤

  • 拉代码后先安装依赖和执行迁移检查。
  • 重启前备份当前版本号和关键配置。
  • 部署完成后自动跑首页、登录、核心接口的冒烟。
stage('smoke') {
  steps { sh 'py

阅读全文