测试
单元测试
单元测试是指对前端代码中的每一个模块(函数、组件等)进行测试的过程,可以通过自动化测试工具(如 Jest、Mocha、Karma 等)来完成
代码覆盖率
单元测试质量的好坏可以通过代码覆盖率来判断:
1、语句覆盖率(Statement Coverage):用于衡量被测试代码中每条语句
的执行覆盖情况
2、行覆盖率(Line Coverage):用于衡量被测试代码中的每行代码
的执行覆盖情况
3、函数覆盖率(Function Coverage):用于衡量被测试代码中每个声明函数
的执行覆盖情况
4、分支覆盖率(Branch Coverage):用于衡量被测试代码中每一个判定分支
的执行覆盖率
除了代码覆盖率应尽量达到 100%,单元测试还应该设计不同场景下的测试用例来尽量覆盖边界情况。
集成测试
集成测试是指将多个组件或模块组合在一起进行测试,以验证它们在整个系统中的正确性和互操作性。
集成测试可以帮助发现多个组件之间
的潜在问题,如接口不兼容、依赖关系错误等。
测试整个应用程序的功能和行为,以确保各模块协同工作,实现用户期望的功能
端到端测试 E2E
端到端测试是一种自动化测试方式,用于测试一个系统的完整流程,从用户界面到后端系统
,确保所有组件和系统都能正确地协同工作。
它模拟用户的真实行为,包括用户输入和系统响应,测试整个系统的交互、一致性和可靠性,确保系统在用户层面上的功能和可用性
,通常包括:
1、模拟用户操作
2、测试系统功能
3、验证数据一致性
4、环境模拟
5、监控和报告
常见库:
1、Cypress
2、Puppeteer
3、TestCafe
4、Nightwatch.js
5、Playwright:支持 Chromium、Firefox 和 WebKit 三种浏览器