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
    • 性能、成本与稳定性
    • 安全、合规与伦理
    • 测试工程实践与职业发展

定时任务 / 调度系统(XXL-Job、Quartz)测试要点有哪些?

👔 Raina面试官: XXL-Job、Quartz 这种定时任务,测试要点有哪些?

🙋 候选人:

  • 定时任务测触发、执行、幂等、失败重试和集群行为,不是到点看一眼。
  • 触发:cron 表达式是否正确(含时区 DST)、错过触发 misfire 策略。执行:任务跑完业务副作用正确、耗时监控。幂等:多实例部署同一 job 只跑一次(分布式锁/选主)。失败:重试次数、告警、失败日志;部分成功回滚。
  • XXL-Job 特有:路由策略、分片广播、手动触发、阻塞策略。测试环境可调短 cron 或用 admin 手动 trigger,别等生产 cron 才验。

👔 Raina面试官: 怎么测只跑一次?

🙋 候选人:

  • 起两个 worker 同时在线,trigger 一次,查 DB 执行记录或业务计数只 +1。
  • 或 mock 锁服务看 acquire 次数。集群脑裂场景可交给 chaos,至少 happy path 要覆盖。


分布式锁场景在测试中怎么覆盖?

👔 Raina面试官: 分布式锁场景测试怎么覆盖?

🙋 候选人:

  • 分布式锁保证互斥 + 超时释放 + 可重入(若支持),测试要并发压。
  • 场景:库存扣减、订单号生成、定时任务选主。并发脚本同时抢锁,断言只有一个成功、其余等待或 fast-fail。测锁过期:持有锁进程 hang,锁 TTL 后 others 能否 acquire。测误删:用 Redis Redlock 等要看 holder token 是否匹配。
  • 还要测:锁未释放异常路径(进程 kill)、网络分区下是否双写——这偏 chaos,但至少验正常和 TTL 过期两条。

👔 Raina面试官: 和数据库悲观锁有什么区别,测试有什么不同?

🙋 候选人:

  • DB 锁在事务内,分布式锁跨服务跨进程。
  • 分布式锁要额外测:Redis/etcd 不可用时的降级策略、锁粒度太粗导致吞吐问题。功能测互斥;性能测锁等待时间。


前端缓存(LocalStorage、SessionStorage、Cookie)怎么测?

👔 Raina面试官: LocalStorage、SessionStorage、Cookie 这些前端缓存你怎么测?

🙋 候选人:

  • 分三层:写入时机、读取逻辑、失效与隔离。
  • LocalStorage:持久化 token、草稿、主题;测刷新/关 tab 再开仍在;清缓存后行为;同源隔离。SessionStorage:关 tab 清除;多 tab 是否隔离。Cookie:HttpOnly/Secure/SameSite 属性;过期时间;domain/path 范围。
  • DevTools Application 面板直接看;自动化 Playwright 可 evaluate 读 storage。安全:敏感 token 不应放 localStorage(XSS 风险);测登出后 storage 是否清干净。

👔 Raina面试官: Cookie 和 Token 放 header 测试差异?

🙋 候选人:

  • Cookie 自动带请求,测跨域 credentials、CSRF;Token 在 header 测 XSS 窃取面。
  • 登出、改密、踢下线后要验旧 token/cookie 失效,这是高频漏测点。


单页应用(SPA)和传统多页应用在测试上有什么区别?

👔 Raina面试官: SPA 和传统多页应用,测试上有什么区别?

🙋 候选人:

  • SPA 是客户端路由 + 异步渲染,测试要更多等状态和 URL 变化,少依赖 full page reload。
  • SPA:路由跳转无刷新,断言 URL + DOM 同时;等 API 返回再 assert;初始 bundle 加载失败白屏。MPA:每次导航完整 HTML,可断言 response status 和页面 title;SEO 和首屏直出不同。
  • 自动化:SPA 用 waitForResponse/waitForSelector;MPA 可用传统 click 等 navigation。SPA 还要测 deep link 直接打开 /order/123 能否渲染;MPA 可能 404 由服务端决定。

👔 Raina面试官: E2E 稳定性 SPA 更差吗?

🙋 候选人:

  • 往往更差,因为异步 race 多。
  • 解法:禁止 sleep,用明确 wait 条件;mock 慢 API 测 loading;关键路径加 data-testid。必要时 API 层断言补 UI flaky。


跨域(CORS)问题测试时怎么验证?

👔 Raina面试官: CORS 问题测试时你怎么验证?

🙋 候选人:

  • CORS 是浏览器策略,要用真实跨域页面或 curl 对比,Postman 有时测不出来。
  • 测 preflight OPTIONS:Allow-Origin、Allow-Methods、Allow-Headers 是否正确。简单请求:GET/POST 带 custom header 是否被拦。Credentials:Access-Control-Allow-Credentials + 具体 Origin,不能 *。
  • Playwright 从 origin A 打开页调 origin B API;DevTools Network 看 CORS error。负向:未授权 origin 应 fail;正向:白名单 origin 成功。网关和 CDN 各层都可能改 CORS header,要分层查。

👔 Raina面试官: Postman 能测 CORS 吗?

🙋 候选人:

  • Postman不受浏览器 CORS 限制,只能测 API 本身,不能替代浏览器 CORS 测试。
  • 接口测试用 Postman;CORS 必须浏览器或 Playwright cross-origin 场景。


WebSocket 和长轮询怎么测?

👔 Raina面试官: WebSocket 和长轮询你怎么测?

🙋 候选人:

  • 两者都是实时通道,要测连接、消息、断线重连。
  • WebSocket:握手 upgrade、双向消息顺序、ping/pong 心跳、服务端 push 客户端收到。断网/休眠/代理超时后是否 auto reconnect、重连后是否补消息或丢消息可接受。长轮询:hold 请求直到有消息或 timeout 再发下一次;测 timeout 循环、并发多个 long poll。
  • 工具:Browser DevTools WS 帧、Postman WS、Playwright 监听 websocket 事件。还要测鉴权:连接时 token 过期、中途踢下线。

👔 Raina面试官: 压测实时连接要注意什么?

🙋 候选人:

  • 看连接数上限、内存、文件描述符,不是只 QPS。
  • 功能测试先单连接全场景;性能再上万连接。网关 idle timeout 常导致假断线——测 nginx/proxy read timeout 配置。


前端路由、浏览器前进后退行为怎么测?

👔 Raina面试官: 前端路由和浏览器前进后退你怎么测?

🙋 候选人:

  • SPA 用 history API,要验URL、页面状态、滚动位置三者与历史栈一致。
  • 场景:列表 → 详情 → 后退回到列表且筛选条件保留;表单填一半 → 跳转 → 后退是否提示 unsaved。replace vs push:登录后 replace 不应退回到登录页。直接改地址栏、刷新 deep link 能否恢复状态。
  • hash 路由和 history 模式测法类似;history 模式还要测服务端 fallback index.html。Playwright page.goBack()/goForward() 自动化。

👔 Raina面试官: 后退后数据不刷新是 bug 吗?

🙋 候选人:

  • 看产品:缓存策略是 feature 还是 bug。
  • 列表应否 re-fetch:对齐 PRD。测试用例写清期望;常见 bug 是后退显示别人账号数据(状态未清)——安全类 P0。


前端性能指标(FCP、LCP、TTI)你了解吗?怎么测?

👔 Raina面试官: FCP、LCP、TTI 这些前端性能指标了解吗?怎么测?

🙋 候选人:

  • 几个核心 Web Vitals:FCP 首次内容绘制、LCP 最大内容绘制、TTI 可交互时间。
  • FCP:用户先看到东西的时间,反映白屏。LCP:主内容(大图/标题块)出现,SEO 和体验关键。TTI:JS 加载完可响应点击。还有 CLS 布局偏移、INP 交互延迟。
  • 测量:Lighthouse/PageSpeed CI、WebPageTest、Chrome Performance 面板;Playwright 可集成 lighthouse。要在 throttling(Slow 3G、4x CPU)下测,跟真实用户接近。设预算:LCP < 2.5s 等,回归对比 MR 前后。

👔 Raina面试官: 实验室数据和真实用户差很多怎么办?

🙋 候选人:

  • 用RUM(真实用户监控)+ Lab 结合。
  • Lab 做 PR 门禁;RUM 看 P75/P95 分位。测试关注 release 后 RUM 是否退化,而不只一次 Lighthouse 截图。


前端埋点和数据上报怎么验证准确性?

👔 Raina面试官: 前端埋点和数据上报准确性你怎么验证?

🙋 候选人:

  • 埋点测事件是否发、字段对不对、时机对不对、不重复。
  • 方法:DevTools Network 过滤 analytics/beacon 请求;Charles/mitmproxy 抓包;自动化里 intercept request 断言 payload(event_name、user_id、page_path、自定义属性)。关键 funnel:注册、支付每一步是否都有点,参数与业务一致。
  • 负向:未登录不带 PII;opt-out 用户不发;单页路由切换 page_view 是否重复或漏。与数据团队对埋点文档(Tracking Plan)做字段级验收。

👔 Raina面试官: 埋点经常变,维护成本高怎么办?

🙋 候选人:

  • 推动Schema 化 + 契约测试,变更走 review。
  • 核心 P0 事件自动化;长尾抽样人工。版本化 tracking spec,跟 release note 绑定。


多端适配(响应式、Rem、Vw)测试策略是什么?

👔 Raina面试官: 响应式、Rem、Vw 这种多端适配,测试策略是什么?

🙋 候选人:

  • 策略是断点矩阵 + 真机抽样 + 视觉回归,不是只测 iPhone 一个尺寸。
  • 响应式:320/375/768/1024/1440 等断点,布局不溢出、可点击区域够大、横竖屏。Rem/Vw:改根 font-size 或 viewport 后元素比例是否正确;1px 边框、safe-area(刘海屏)。
  • 工具:Chrome device mode、BrowserStack;Percy/Chromatic 做 snapshot diff。优先测核心页高频路径;CSS 改一行可能全站崩,视觉回归能抓。

👔 Raina面试官: Rem 和响应式都要全尺寸跑一遍吗?

🙋 候选人:

  • 用正交矩阵:选代表设备 × 代表页面。
  • P0 页全断点;P2 页抽 2 尺寸。发现 Rem 计算 bug Often 在特定 DPR 真机上才现,至少抽一台 Android 一台 iOS。

浏览器兼容性测试除了功能还关注什么?

👔 Raina面试官: 浏览器兼容性测试除了功能你还关注什么?

🙋 候选人:

  • 还要盯渲染、性能、API 支持度、安全策略和输入行为差异。
  • 渲染:字体、flex/grid 老 IE/旧 Safari 差异(现在主要是 Safari iOS)。API:WebSocket、fetch、crypto、date input 各浏览器支持。性能:同页 Chrome vs Safari JS 耗时。安全:第三方 Cookie 禁用、混合内容 block。
  • 输入:中文输入法、自动填充、password manager。打印、PDF 导出也算兼容范畴。维护 browser matrix 跟 analytics 用户占比对齐,别测 20 个浏览器没人用。

👔 Raina面试官: Safari 有什么经典坑?

🙋 候选人:

  • ITP 限制 Cookie、日期 parse 差异、100vh 含地址栏、backdrop-filter 部分支持。
  • iOS 上 focus 放大 input、position fixed + 键盘遮挡。这些功能能用但体验 bug 多,要在真机测。


前端异常监控(Sentry 等)和测试怎么配合?

👔 Raina面试官: Sentry 这种前端异常监控,测试怎么配合?

🙋 候选人:

  • 测试验证该报的报、不该报的不报、上下文够排查。
  • 配合点:staging 故意触发 JS error、API 500 unhandled rejection,看 Sentry 是否收到、release/version/user/breadcrumb 是否正确。回归:修复后同类 error 不应再 spike。noise 过滤:已知第三方脚本 error 应 ignore。
  • 发布门禁:对比 staging release 的 new issue count。测试 case 可附 Sentry event link。还要测 source map 是否上传——否则 stack 看不懂。

👔 Raina面试官: 测试环境报错太多干扰怎么办?

🙋 候选人:

  • 分environment tag,告警规则只对 staging/prod 配。
  • 自动化测试账号 error 进单独 project 或 filter。推动 dev 修 baseline noise,别习惯忽略 Sentry。

最近更新: 2026/8/21 08:07
Contributors: weixin_55062269
Prev
接口测试
Next
性能测试