探讨下前端测试的常见场景

前端测试

场景

这边指的测试是指白盒测试,用代码来测试代码。

测试有利于提升代码质量。

  • 代码功能和需求一致。根据需求,写测试。测试通过了,则表明需求实现了。
  • 保证代码重构后,未改坏以前的功能。代码重构后,能通过原有的测试。

测试的另一个好处是,可以通过现有测试,来直观的了解需求。

解决方案

测试类型

根据测试对象类型不同,测试包含如下类型:

  • 单元测试
  • UI 测试
  • 接口测试

单元测试

单元测试的测试对象主要是函数和组件。

测试传不同的参数或属性值,返回值是否和预期一致,报错情况是否与预期一致,回调函数的执行情况是否和预期一致,造成的副作用是否和预期一致。副作用包括 DOM 操作,BOM 操作。

UI 测试

UI 测试的测试对象是 UI。

测试在页面未做过交互或交互(如点击,输入)后,UI 的结果是否和预期一致。

手写 UI 测试用例工作量很大。常用的 2 种 替换方式是:截图比较(Snapshot Testing) 和 UI 自动化测试。

截图比较是当前程序生成的 UI 的截图 和 之前程序生成的 UI 的截图比较。第一次运行程序要生成截图。当 UI 改动后,可以更新截图。截图适用用检查代码重构后,是否改坏了 UI。

UI 自动化测试 需要 录制测试脚本。根据测试脚本生成对应的测试用例代码。以后每次运行测试用例,就是执行录制脚本中的操作。具体看 UI 自动化录制工具: UI Recorder

接口测试

接口测试的测试对象是 API 接口。

调 API 接口,传不同的参数,接口返回的结果是否和预期一致。

衡量测试的效果

用测试覆盖率来衡量测试的效果。

工具库

相关推荐
PineappleCoder5 分钟前
别让页面 “鬼畜跳”!Google 钦点的 3 个性能指标,治好了我 80% 的用户投诉
前端·性能优化
卤代烃19 分钟前
🕹️ [AI] Chrome DevTools MCP 原理分析
前端·mcp
梦里不知身是客1131 分钟前
flink对于迟到数据的处理
前端·javascript·flink
卤代烃42 分钟前
🤝 了解 CDP (Chrome DevTools Protocol):browser-use 背后的隐藏功臣
前端·chrome·puppeteer
一 乐43 分钟前
人事管理系统|基于Springboot+vue的企业人力资源管理系统设计与实现(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·后端
b***74881 小时前
前端状态系统的时代变革:从本地状态到全局状态,再到智能状态的未来趋势
前端·状态模式
愤怒的代码1 小时前
Java 面试 100 题深度解析 · 专栏总览与大纲
java·面试
秋氘渔1 小时前
Vue 3 组合式API中的生命周期钩子函数介绍
前端·javascript·vue.js
拉不动的猪1 小时前
requestAnimationFrame 与 JS 事件循环:宏任务执行顺序分析
前端·javascript·面试
步步为营DotNet1 小时前
深度解析C# 11的Required成员:编译期验证保障数据完整性
java·前端·c#