Raina测试学习指南Raina测试学习指南
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
🌍 知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
导读
面试题
对话式面试题
AI 测试教程
软件测试教程
🌍 知识星球
学习交流群
  • Raina测试工具集
  • Raina常用网站&工具合集
  • 小红书
  • B站
  • 作者介绍
  • 基础测试对话

    • 测试基础理论
    • 测试用例设计
    • 功能测试
    • 接口测试
    • 自动化测试
    • 性能测试
    • 安全测试
    • 移动端与兼容性测试
    • 测试管理与工程实践
    • 综合与开放题
    • 数据库与数据测试
    • Linux 与测试环境
    • 微服务与分布式系统
    • Web 前端专项
    • DevOps 与 CI/CD
    • 业务领域专项
    • 测试工具与效率
    • 质量度量与测试策略
    • 软技能与职业发展
    • 进阶综合题
    • 网络与 HTTP 协议(高频)
    • SQL 与数据库基础(高频)
    • 自动化落地细节(高频)
    • 缺陷与质量过程(高频)
    • 经典业务 / 场景设计题(高频)
    • Web / App 实战补充(高频)
    • 接口与联调实战(高频)
    • 性能与稳定性补充(高频)
    • 编程与工具基础(高频)
    • 行为面试与综合高频
  • AI 测试对话

    • AI 测试基础与方法论
    • 大模型(LLM)功能测试
    • Prompt 与对话质量测试
    • Agent / Skill / MCP 测试
    • RAG 与知识库测试
    • 评测体系与 Eval
    • 自动化测试与 CI/CD
    • 性能、成本与稳定性
    • 安全、合规与伦理
    • 测试工程实践与职业发展

HTTP 常见状态码有哪些?测试时怎么使用?

👔 Raina面试官: HTTP 状态码常见的那些,测试时你怎么用?

🙋 候选人:

  • 测试里我重点盯2xx 成功、4xx 客户端错误、5xx 服务端错误几类。
  • 200/201/204:成功语义不同,创建用 201、无 body 删除用 204。400:参数错误;401 未认证;403 已认证无权限;404 资源不存在;409 冲突;422 语义错误。500/502/503:服务端或网关问题。
  • 断言不能只看 200——错误场景必须验证码和 body 里 business code/message 一致,防止一律 200 包错误。

👔 Raina面试官: 接口全返回 200,错误放 body 里,你怎么测?

🙋 候选人:

  • 按业务规范断言 body——success flag、errorCode、message。
  • 同时推动团队 REST 最佳实践:客户端错误用 4xx,否则监控和网关层难以区分成功率。测试报告里可记技术债,但当前按实际契约测。


GET 和 POST 在测试设计上有什么差异?

👔 Raina面试官: GET 和 POST 在测试设计上有什么不一样?

🙋 候选人:

  • GET 应幂等且只读,POST 用于创建/变更且要测副作用和幂等。
  • GET 测:Query 参数组合、URL 长度边界、缓存行为、重复请求结果一致。POST 测:Body 各种合法/非法 JSON、重复提交、CSRF(表单场景)、创建后资源是否落库。
  • 还要测方法误用——该 POST 的用 GET 是否被正确拒绝,防止安全漏洞。

👔 Raina面试官: GET 请求带敏感参数有什么问题?测试要关注吗?

🙋 候选人:

  • 要,敏感数据不应出现在 URL——会进 access log、浏览器历史、Referer。
  • 测试检查密码、token 是否走 POST body;若业务必须用 GET 传参,验证 HTTPS 和日志脱敏策略。


RESTful API 测试你会关注哪些规范点?

👔 Raina面试官: RESTful API 测试你会盯哪些规范点?

🙋 候选人:

  • 关注资源命名、HTTP 方法语义、状态码、版本、分页/filter 规范。
  • URI 用名词复数 /users/{id},动词用 GET/POST/PUT/PATCH/DELETE 表达操作。创建返回 201 和 Location 头;更新 PUT 全量 PATCH 部分。列表接口统一分页参数命名。错误响应结构一致 {code, message, details}。
  • 还会测 HATEOAS(若有)、Content-Type、Accept 头协商、API 版本 header/path。

👔 Raina面试官: PUT 和 PATCH 测试重点有什么不同?

🙋 候选人:

  • PUT 测全量替换——缺字段是否被置空;PATCH 测部分更新——只改一个字段其他不变。
  • 混用是常见 Bug 源,两个都要覆盖,并验证误用方法的错误响应。


接口鉴权(Token、签名、OAuth)怎么测?

👔 Raina面试官: Token、签名、OAuth 这些接口鉴权你怎么测?

🙋 候选人:

  • 通用场景:无 token、过期 token、篡改 token、越权 token、正确 token。
  • Bearer JWT:测 alg 降级、payload 改 userId、exp 过期。签名:漏参数、改参数顺序、timestamp 过期、nonce 重放。OAuth:授权码 flow 各步失败、refresh token、scope 不足访问资源。
  • 期望都是明确的 401/403,且 error 不泄露内部实现细节。

👔 Raina面试官: Token 过期时间很短,自动化怎么测?

🙋 候选人:

  • 几种办法:测环境缩短 TTL、Mock 签发过期 token、调测试专用过期 token 接口。
  • 不要 sleep 等真实过期——不稳定。还可以单元/集成层 mock 时钟,接口 E2E 用预置 fixture。


接口依赖链(A 依赖 B 的结果)在自动化里怎么处理?

👔 Raina面试官: A 接口依赖 B 的结果,自动化里你怎么处理这种依赖链?

🙋 候选人:

  • 优先Setup 链式调用 + 数据隔离,而不是硬编码写死 ID。
  • 例:创建用户 → 登录拿 token → 创建订单 → 支付。每步断言成功并提取 dynamic 变量给下一步。Teardown 清理测试数据避免污染。
  • 稳定数据用 factory/fixture;跨用例共享状态要谨慎,并行跑时要独立账号或 UUID 前缀。

👔 Raina面试官: 上游挂了导致整条链失败,怎么区分是 Bug 还是环境问题?

🙋 候选人:

  • 自动化里加前置 health check 和步骤级断言,失败日志标明哪一步挂。
  • CI 里区分 infra fail 和 test fail;必要时 Mock 上游让被测服务可独立验证。接口契约测试也能在上游不可用时保障集成假设。


接口超时、重试、限流你会怎么设计测试场景?

👔 Raina面试官: 超时、重试、限流这些,你怎么设计测试场景?

🙋 候选人:

  • 超时:Mock 延迟或 Charles 限速,验证客户端/网关超时阈值和友好错误,不能无限 hang。
  • 重试:模拟 503 后恢复,验证有限次数重试、指数退避、最终失败上报;重试必须幂等。限流:短时间 burst 超配额,期望 429 和 Retry-After 头,降级策略是否生效。
  • 这些场景常在故障注入或预发环境做,避免影响共享测试环境其他人。

👔 Raina面试官: 怎么验证重试没有重复扣款?

🙋 候选人:

  • 结合幂等键 + DB 流水条数 + 业务单状态三重验证。
  • 故意让第一次超时、第二次成功,查是否只有一笔有效交易。这是接口和功能测试交叉的高价值场景。


Mock 和 Stub 在接口测试中有什么区别?什么时候用?

👔 Raina面试官: Mock 和 Stub 在接口测试里区别是什么?什么时候用?

🙋 候选人:

  • Stub 提供固定假响应,Mock 还会验证交互是否符合预期。
  • Stub:上游未就绪时返回 canned JSON,让被测服务继续跑通。Mock(严格意义):期望被测方调了某接口 N 次带某参数,没调则失败。日常口语里 Mock Server 常混指。
  • 用法:依赖外部支付/短信时用 Stub 隔离;验证本服务是否正确调用下游用 Mock 验证行为。Contract test 介于两者之间。

👔 Raina面试官: Mock 测过了还需要联调吗?

🙋 候选人:

  • 要,Mock 验证的是假设下的逻辑,联调验证真实集成——字段变更、延迟、错误码差异只有真联调能发现。
  • 策略:开发期 Mock 提速,提测后至少一轮真实依赖或 sand-box 联调,Mock 和真实结果 diff 监控。


如何定位接口返回正常但前端展示异常的问题?

👔 Raina面试官: 接口返回正常但前端展示不对,你怎么定位?

🙋 候选人:

  • 标准排查:对比 API 原始响应 vs 页面渲染结果,二分是数据问题还是展示问题。
  • DevTools Network 看 response body 字段是否齐全;Console 看 JS 报错;Vue/React devtools 看 state 是否 parse 错——常见是 null 未处理、字段改名、类型当字符串/数字。
  • 再查缓存层——接口对新但 CDN 或前端 cache 旧;时区/format 导致日期显示错。

👔 Raina面试官: 偶现的前端问题怎么抓?

🙋 候选人:

  • 开Preserve log、录屏、Sentry 上报,复现时保存 HAR 文件。
  • 查 race condition——快速切换 tab 时请求乱序返回,后发的先到了用旧数据覆盖。接口测试 Pass 但 UI 仍可能在这种竞态下挂。


接口契约测试是什么?和常规接口测试有什么不同?

👔 Raina面试官: 契约测试是什么?和常规接口测试有啥不同?

🙋 候选人:

  • 契约测试验证消费者和提供者对接口格式/行为的共同约定,常在 CI 里双向校验。
  • 常规接口测试:调用真实服务,断言功能对不对。契约测试:Consumer 定义期望 request/response schema,Provider 跑 verify 确保实现匹配;Consumer 侧用 pact mock _provider 独立测。
  • 价值是并行开发、早发现问题——Provider 改字段没通知,契约 CI 立刻红。

👔 Raina面试官: 契约测试能替代集成测试吗?

🙋 候选人:

  • 不能替代,契约保证形状一致,集成保证端到端行为正确——业务逻辑错但 schema 对,契约仍绿。
  • 理想是金字塔:契约 CI 快反馈 + 少量集成测试 + 核心 E2E。各层防不同类缺陷。


Swagger / OpenAPI 文档和实际接口不一致,你怎么处理?

👔 Raina面试官: Swagger 文档和实际接口对不上,你怎么办?

🙋 候选人:

  • 第一步以可复现证据开缺陷——文档说 optional 实际 required,响应少字段,类型不对。
  • 短期测试用例按实际实现写并标注 doc drift;推动开发 single source of truth——代码注解生成 OpenAPI 或 doc-first 生成 stub。
  • 自动化可从 Swagger 生成基础用例,但 drift 会导致误报,所以要加契约校验或定期 diff doc vs 抓包。

👔 Raina面试官: 文档错了但产品已按文档做前端,听谁的?

🙋 候选人:

  • 拉产品+后端+前端三方定权威版本——是实现错了还是文档 outdated。
  • 测试输出差异表辅助决策,定稿后更新 doc、用例、前端一并改。不能让测试默默选边站,否则上线必有一方挂。
最近更新: 2026/8/21 08:07
Contributors: weixin_55062269
Prev
缺陷与质量过程(高频)
Next
Web / App 实战补充(高频)