前端自动化测试#
优势#
- 更好的代码组织,项目的可维护性增强
- 更小的 Bug 出现概率,尤其是回归测试中的 Bug
- 修改工程质量差的项目,更加安全
- 项目具备潜在的文档特性
- 扩展前端的知识面
重要知识点#
- BDD 和 TDD
- 集成测试和单元测试
- 测试和业务的解耦
- 代码测试率并不代表一定靠谱
- 功能测试及 UI 测试
- 测试越独立,隐藏的问题越多
TDD#
什么是 TDD#
TDD:全称 Test Driven Development 测试驱动的开发,也叫 Red-Green Development,从红到绿的开发,即测试用例无法通过测试为红到测试用例测试成功为绿的开发。
开发流程#
- 编写测试用例
- 运行测试,测试用例无法通过测试
- 编写代码,使测试用例通过测试
- 代码优化,完成开发
- 重复上述步骤
特点#
- 先写测试再写代码
- 一般结合单元测试使用,是白盒测试
- 测试重点在代码
- 安全感低
- 速度快
优势#
- 长期减少回归 BUG
- 代码质量更好(组织,可维护性)
- 测试覆盖率高
- 错误测试代码不容易出现
BDD#
什么是 BDD#
BDD:全称 Behavior Driven Development 行为驱动开发。
开发流程#
- 编写代码
- 编写测试用例,使测试用例通过测试
- 代码优化,完成开发
- 重复上述步骤
特点#
- 先写代码再写测试
- 一般结合集成测试使用,是黑盒测试
- 测试重点在 UI (DOM)
- 安全感高
- 速度慢