接口测试——功能、异常、性能、安全

接口测试的核心内容

1.功能测试

验证接口是否按照需求正常工作

测试项说明实际例子
正向场景测试输入合法参数时,接口是否返回正确的数据结构和业务逻辑结果注册接口输入正确手机号 → 返回注册成功并生成用户记录
负向场景测试参数不完整、类型错误、值非法时,接口是否能识别并返回明确错误提示忘记输入密码 → 返回 {"code":400, "message":"密码不能为空"}
权限控制测试不同角色用户调用同一接口时,是否有权限限制普通用户调用删除文章接口 → 返回 403 Forbidden
分页/排序/过滤功能测试列表类接口是否支持分页、排序字段、筛选条件,并且结果准确获取商品列表时传 page=2&size=10 → 应该返回第 2 页的 10 条数据
  • 正向测试=用户按规矩来操作

  • 负向测试=故意搞错,看系统能不能识别并阻止

怎么测?

  1. 使用 Postman / Insomnia 手动发送请求

  2. 编写自动化测试脚本(Python + requests、Java + RestAssured)

  3. 配合 Mock 数据模拟后端行为

2.异常测试

目的:验证接口在异常i情况下是否能稳定运行,友好反馈

测试项说明实际例子
网络中断测试接口调用过程中断开网络连接,看是否能捕获异常并友好提示在提交订单时拔掉网线 → 提示“网络异常,请重试”
接口超时测试设置较短的超时时间,看接口是否会主动终止请求接口设置 500ms 超时 → 如果服务端超过时间未响应 → 客户端应报错
服务器宕机测试后端服务挂掉时,前端是否能识别并降级处理用户中心服务宕机 → 前端显示“服务暂时不可用”而不是空白页面
Token 过期测试Token 失效后,接口是否返回 401 并引导重新登录Token 已过期 → 返回 {"code":401,"message":"登录已失效"}
参数缺失测试必填参数未传时,接口是否给出明确提示注册时没传邮箱 → 返回 {"code":400,"message":"邮箱必填"}
异常日志记录测试接口出错时,后台是否记录日志便于排查登录失败 → 日志中应记录用户名、IP、失败原因等信息
  • 异常测试就像“模拟事故”,看看系统会不会崩溃,会不会给出有用的信息

  • 好的接口就算出错了也能优雅处理

  • 用户体验的关键点:出错时能不能给出有用的信息

怎么测?

  1. 使用 Charles 或 Fiddler 模拟断网、延迟、丢包

  2. 修改服务器时间让 Token 过期

  3. 使用 JMeter 模拟高延迟、低带宽环境

3.性能测试

目的:验证接口在高负载,大数据量下是否依然快速、稳定

测试项说明实际例子
响应时间测试单个请求从发送到收到响应的时间是否在可接受范围内查询用户信息接口响应时间 ≤ 500ms
并发压力测试多个用户同时访问接口时,是否还能保持响应速度和稳定性电商秒杀活动时上万人同时下单 → 系统不能崩溃或卡死
负载能力测试接口能否承受大量请求而不崩溃某个查询接口每分钟被调用 10 万次 → 系统仍能正常响应
数据库瓶颈测试是否存在慢 SQL、锁表、连接池阻塞等问题订单查询接口卡顿 → 发现是某条 SQL 没加索引
资源消耗监控CPU、内存、数据库连接数等是否在安全范围内高并发下服务器内存占用过高 → 需要优化代码或扩容
  • 保证系统在高流量下依然可用

  • 提前暴露性能隐患,防止上线后崩溃

怎么测?

  1. 使用 JMeter、Locust、k6 模拟高并发请求

  2. 使用 Prometheus + Grafana 监控服务器资源

  3. 使用 MySQL 的慢查询日志分析性能瓶颈

4.安全测试

目的:防止接口被恶意攻击,保护用户隐私和系统安全

测试项说明实际例子
HTTPS 加密测试接口是否强制使用 HTTPS,防止中间人窃听登录接口必须走 HTTPS,否则密码可能被截取
SQL 注入测试是否对用户输入做了校验和转义在搜索框输入 ' OR '1'='1 → 系统不应执行 SQL
XSS 攻击测试是否对 HTML 标签、JS 脚本进行过滤在昵称中输入 <script>alert(1)</script> → 页面不应执行脚本
接口限流测试是否限制单位时间内某个用户或 IP 的请求次数每分钟最多允许一个账号登录尝试 5 次
敏感数据加密与脱敏用户隐私数据是否加密传输或部分隐藏显示手机号为 138****1234,而不是完整号码;密码传输必须加密
CSRF 攻击测试是否防止跨站请求伪造攻击敏感操作(如转账)必须带有 token 校验
越权访问测试普通用户是否能通过修改 ID 查看他人数据用户 A 尝试访问 /user/999 → 应拒绝访问非本人数据
  • 安全测试就像“模拟黑客攻击”,目的是提前发现漏洞

  • 有些安全问题虽然不影响功能,但一旦被利用,后果很严重!

** 怎么测?**

  1. 使用 OWASP ZAP、Burp Suite 模拟攻击

  2. 手动构造 SQL/XSS 注入语句测试

  3. 使用 Postman 模拟 CSRF 请求

  4. 使用 Chrome DevTools 查看是否启用 HTTPS

总结

测试类型核心目标常用工具关键词
功能测试接口能不能用Postman、自动化脚本正确性、参数、权限、分页
异常测试出问题会不会崩JMeter、Fiddler、手动模拟网络、错误码、Token 失效
性能测试多人用会不会卡JMeter、Locust、Prometheus响应时间、并发、数据库
安全测试别人能不能黑Postman、Burp Suite、ZAPHTTPS、SQL 注入、限流、脱敏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值