# 1. k6 的 HTTP/WS 压测与阈值 与 Storybook 8 CSF4 的现代协作 A k6 只能压测 HTTP 请求,不支持 WebSocket B k6 阈值只能在运行后人工判断 C k6 以 VU/迭代模型施压,thresholds 声明式断言形成 CI 性能门禁,可与 CSF4 组件规格协作做开发期压测 ✓ 正确答案 D k6 脚本不支持 JS 语法
# 2. Pact 在前后端契约测试的应用与边界 A Pact 要求前后端必须联调才能验证契约 B Pact 由消费者生成契约、提供者回放验证,经 Broker 共享版本,实现契约驱动的并行开发 ✓ 正确答案 C Pact 契约能验证接口的所有可能输入 D Pact 只适用于 GraphQL
# 3. 内存与 FPS 性能回归测试 A 浏览器可以直接读取合成器 FPS 数值 B 内存回归以强制 GC 后的快照基线衡量,帧率以长任务与掉帧等代理指标衡量,需固定环境与容差阈值 ✓ 正确答案 C 性能回归测试只需运行一次即可判定 D 内存增长与长会话 SPA 无关
# 4. Bundle 体积回归测试(bundlesize、size-limit) A bundle 体积测试只需在发版时手动检查 B 体积预算不需要考虑首屏关键包 C bundlesize 支持执行开销估算 D size-limit 度量压缩后体积与实际执行开销,体积预算作为 CI 门禁防止依赖膨胀 ✓ 正确答案
# 5. web-vitals 库与 PerformanceObserver 在自动化性能回归的工程价值 A web-vitals 库无法在测试中注入采样 B PerformanceObserver 只能读取注册后的条目 C web-vitals 基于 PerformanceObserver 封装 CWV 测量,可注入自动化流程做预算断言,与 RUM 字段数据互补 ✓ 正确答案 D LCP 与 PerformanceObserver 无关
# 6. 契约测试(Pact/OpenAPI)在前后端联调与回归的工程价值 A 契约测试的目的是替代所有集成测试 B 契约测试使前后端并行开发、独立验证接口一致性,把联调自动化并提前暴露不兼容变更 ✓ 正确答案 C OpenAPI 是消费者驱动的契约 D 契约测试无法接入 CI
# 7. Jest 30 与 Playwright 1.5x 的现代取舍 A Jest 30 可以替代 Playwright 做 E2E B Playwright 1.5x 不支持组件测试 C Jest 30 聚焦单测运行器现代化,Playwright 1.5x 覆盖组件与 E2E 层,可按测试金字塔分层组合 ✓ 正确答案 D Jest 30 已放弃 ESM 支持
# 8. fixture factory(如 Fishery)相较手写 mock 对象的可维护性与类型安全优势 A fixture factory 只能构建基础类型对象 B 手写 mock 与工厂在类型安全上无差异 C Fishery 以工厂声明默认数据并按需覆盖,TypeScript 全量推导,解决手写 mock 的重复与类型漂移 ✓ 正确答案 D fixture factory 不支持关联数据构建
# 9. MSW handler 的分层组织与场景复用,基础 handler、场景 override 与测试隔离策略 A MSW handler 按基础层与场景 override 分层组织,afterEach 重置恢复默认,保证用例隔离 ✓ 正确答案 B 每个测试都应在 beforeAll 中声明全部接口 handler C handler 可以在测试之间共享可变状态 D override 不需要恢复
# 10. size-limit 与 Bundlewatch 在 PR 阶段的产物体积门禁 A size-limit 只能测量 gzip 体积 B Bundlewatch 无法展示体积 diff C size-limit 以绝对预算、Bundlewatch 以基线对比在 PR 阶段拦截体积膨胀 ✓ 正确答案 D 体积门禁会降低构建速度所以应跳过
# 11. Lighthouse CI 在性能门禁的应用 A Lighthouse CI 只能生成报告,不能作为门禁 B assertions 不支持 LCP 等指标 C LHCI 通过 assertions 声明性能阈值,固定环境多次运行取中位数,形成稳定的 CI 性能门禁 ✓ 正确答案 D Lighthouse 评分与运行环境无关
# 12. k6(k6.io)在负载测试与 SPA 加压的工程价值 A k6 以协议层请求压测服务端容量,SPA 的客户端渲染与交互需真实浏览器测试协作补充 ✓ 正确答案 B k6 可以完全模拟浏览器中的 SPA 渲染 C k6 不支持阈值判定 D k6 只能压测 WebSocket
# 13. Lighthouse CI 在 PR 检查的性能预算(performance-budget.json) A performance-budget.json 只能声明总体积 B LHCI 无法读取预算文件 C 资源预算与性能指标无关 D performance-budget.json 按资源类型声明体积与数量预算,LHCI 断言其通过率,与指标门禁配合治理 ✓ 正确答案
# 14. Ladle 的轻量 Storybook 替代 在大型项目测试金字塔的工程价值 A Ladle 不支持 CSF 格式的 story B Ladle 无法被 E2E 工具访问 C Ladle 的启动速度与 Storybook 相同 D Ladle 以轻量架构提供秒级构建,story 作为组件测试与文档的统一入口,降低大型项目 CI 成本 ✓ 正确答案
# 15. Storybook 8 CSF4 在 CI/CD 与并行执行的工程价值 A CSF4 只能用于文档展示 B CSF4 以结构化 story 规格驱动视觉、交互与文档多工具,按 story 粒度并行与增量测试提升 CI 效率 ✓ 正确答案 C Test Runner 无法与 CSF4 协作 D TurboSnap 会测试所有 story 以保准确
# 16. Lighthouse CI 的 lighthouserc 配置与预算治理 A lighthouserc.json 只需要配置 URL B lighthouserc 由 collect/assert/upload 三段构成,断言支持分级阈值,需固定环境与基线演进治理波动 ✓ 正确答案 C assertions 只能对总评分断言 D 多次运行应取最大值作为口径
# 17. API Mock 与契约测试(契约驱动开发) A CDD 中前端只能等后端实现完成再开发 B CDD 以契约为单一事实源,mock 从契约生成支撑并行开发,契约测试在 CI 中验证一致性 ✓ 正确答案 C 契约变更不需要通知消费方 D mock 与契约可以互相矛盾
# 18. WebPageTest 与真实场景测试 A WebPageTest 在真实地点与网络条件下测试并提供瀑布图等深度诊断,与 Lighthouse 的合成审计互补 ✓ 正确答案 B WebPageTest 只能在本地模拟环境中运行 C WPT 不支持自定义脚本 D Lighthouse 与 WPT 的测试条件完全相同
# 19. Puppeteer/Cypress 性能测试(Web Vitals 注入) A 性能测试只能在单独的性能工具中执行 B Puppeteer/Cypress 可注入 web-vitals 在真实交互路径中采集指标并断言,与 Lighthouse、RUM 形成三极互补 ✓ 正确答案 C 注入的指标无法在测试中断言 D E2E 注入性能测试不需要固定环境
# 20. Pact 的 pactflow 与 Mock Server 在微前端集成的协作边界 A Mock Server 可以完全替代集成验证 B 契约变更无需评审 C PactFlow 无法处理多团队契约 D PactFlow 托管契约版本并做 can-i-deploy 决策,Mock Server 按契约生成模拟接口,微前端场景仍需环境级验证兜底 ✓ 正确答案
# 21. WebPageTest 与 Lighthouse 的差异在多地点多设备性能测量的工程价值 A Lighthouse 支持全球多地点测试 B WPT 的结果与 Lighthouse 必然一致 C 同一页面的性能与地理位置无关 D WebPageTest 覆盖多地点真实网络与设备,可暴露 CDN 地域性问题,与 Lighthouse 基线形成互补 ✓ 正确答案
# 22. Performance Observer API 与 Lighthouse 的运行时性能数据采集在真用户监控(RUM) A PerformanceObserver 属于实验室数据采集工具 B RUM 数据不需要采样与批量上报 C buffered: true 无法读取历史条目 D PerformanceObserver 支撑真实用户的字段数据采集,Lighthouse 提供可复现的实验室审计,两者在 RUM 中分工互补 ✓ 正确答案
# 23. v8 snapshot 在 Node.js 测试启动加速与 Jest 28 worker 的边界 A v8 snapshot 序列化预热堆跳过重复编译,worker 池复用进程避免冷启动,两者各有适用边界 ✓ 正确答案 B v8 snapshot 可以无条件加速所有测试 C Jest worker 可以跨环境无限制复用 D 测试启动开销与模块编译无关
# 24. Pact 的 matchers(like、eachLike、term)在动态值(id、timestamp)契约匹配 A matchers 只能匹配字面量值 B like/eachLike/term 等 matchers 按类型、结构或正则匹配动态字段,需按字段性质平衡匹配精度 ✓ 正确答案 C 使用 matcher 后契约验证完全失效 D term matcher 不支持正则
# 25. Cypress Component Testing 与 Storybook 在组件可视化回归的协作与现代取舍 A 组件可视化回归只能使用 Storybook B Cypress CT 无法截图组件 C Storybook 侧重组件资产与视觉回归,Cypress CT 侧重测试工程化,可复用同一 story 描述按需消费 ✓ 正确答案 D 两套组件测试体系并行没有成本
# 26. 基准测试(microbenchmark)benchmark.js/tinybench 在高频路径优化(debounce、throttle、format)的现代边界 A 微基准需预热与统计采样,只宜做同环境相对对比,JIT 与 GC 干扰决定了其边界 ✓ 正确答案 B 微基准测试的结果可以直接作为生产性能指标 C benchmark.js 与 tinybench 不兼容异步 D 微基准不受环境噪声影响
# 27. Pact Broker 在版本管理与跨服务版本兼容契约验证的协作 A Pact Broker 只能存储单一契约版本 B 提供者升级无需验证消费者契约 C Pact Broker 记录契约验证矩阵,can-i-deploy 依据已部署版本判断发布兼容性,形成发布门禁 ✓ 正确答案 D tag 与环境部署无关
# 28. Web Vitals(CWV)的 Lab 数据(Lighthouse) A Lab 数据反映真实用户的性能分布 B Lighthouse 可以直接测量真实 INP C Lab 数据在固定环境中可复现测量,INP 以 TBT 为代理,适合回归门禁但无法代表真实用户 ✓ 正确答案 D Lab 与 Field 数据可以互相替代
# 29. 契约测试在 GraphQL 服务端的 schema introspection 与客户端 codegen 的协作 A GraphQL 以 schema 为类型契约,introspection 与 codegen 保证双端类型一致,行为契约仍需示例验证补充 ✓ 正确答案 B GraphQL 不需要契约测试 C codegen 生成的类型与运行时无关 D introspection 只能用于调试
# 30. Playwright Accessibility Testing(axe-core 集成) A axe 扫描结果一定准确无需人工复核 B axe 只能扫描静态页面 C AxeBuilder 注入规则扫描页面,可配置范围与等级,在内容稳定后扫描并接入 CI 门禁 ✓ 正确答案 D Playwright 无法运行 axe
# 31. Cypress 的 cy.performance API 与 Web Vitals 上报的 RUM 数据同步策略 A 测试环境的性能数值与生产环境必然一致 B 测试中采集的性能指标与生产 RUM 保持同一测量口径并对照相对基线,实现 Lab/Field 可比 ✓ 正确答案 C RUM 采样不需要批量上报 D 测试指标只能看绝对值
# 32. E2E 测试的账号、种子数据与环境隔离策略,测试租户、数据清理与并行执行冲突避免 A E2E 测试可以直接使用生产账号 B E2E 数据用测试租户隔离、幂等创建与按 worker 唯一命名,数据生命周期与测试绑定避免并行冲突 ✓ 正确答案 C 种子数据只创建不清理也没问题 D 并行测试共享固定种子数据最稳定
# 33. 测试并发执行时的数据冲突与清理策略,事务回滚、独立 schema 与 truncate 的工程取舍 A 事务回滚快且净但要求同连接,独立 schema 彻底隔离支持并行,truncate 需独占环境,按场景组合使用 ✓ 正确答案 B 事务回滚适用于所有测试场景 C truncate 适合在共享库中并发使用 D 独立 schema 不需要迁移初始化
# 34. Pact 与 OpenAPI/AsyncAPI 的契约规范协作与现代 API 设计优先(API First) A OpenAPI/AsyncAPI 定义接口标准,Pact 验证消费期望,API First 以规范为单一事实源驱动 mock、测试与文档 ✓ 正确答案 B OpenAPI 与 Pact 是同一种契约形式 C AsyncAPI 只用于 HTTP 接口 D 规范变更无需评审
# 35. 测试环境配置(env、service mock)在 CI 与本地的一致性保障,dotenv、config 注入与 secrets 管理 A 环境配置分层覆盖并统一校验,mock 描述共享、secrets 经 CI secret 注入且 .env 不提交,保证本地与 CI 一致 ✓ 正确答案 B 测试密钥可以提交进 git 仓库 C 本地与 CI 的配置可以随意不同 D dotenv 负责生产环境变量注入
# 36. Factory Bot 模式在前端测试中的 TypeScript 类型推导与关联数据构建的工程实践 A 工厂模式会丢失 TypeScript 类型 B 工厂只能构建单层对象 C 工厂集中测试数据规格,build 结果全量类型推导,支持关联与序列化构建,消除手写 mock 的类型漂移 ✓ 正确答案 D 覆盖字段时类型不检查
# 37. 测试数据库的迁移(migration)与种子(seed)在 CI 流水线中的执行时机与缓存策略 A 迁移建立结构、种子灌入数据,可按 schema 指纹缓存复用,种子需幂等并处理并发安全 ✓ 正确答案 B 每次测试运行都应重新执行全部迁移 C 已上线的迁移文件可以随意修改 D 种子数据不需要版本管理
# 38. 快照测试(Snapshot)在 API 响应数据中的适用边界与脆弱性治理 A API 快照适合包含所有动态字段 B 快照更新不需要审查 C API 快照适用于结构稳定的响应,动态值需 normalizer 归一化,更新走评审并配合语义断言 ✓ 正确答案 D 快照可以完全替代接口断言