TDD和BDD学习笔记

1. 更好的代码组织,项目的可维护性增强 2. 更小的 Bug 出现概率,尤其是回归测试中的 Bug 3. 修改工程质量差的项目,更加安全 4. 项目具备潜在的文档特性 5. 扩展前端的知识面

目录
  1. 前端自动化测试
    1. 优势
    2. 重要知识点
  2. TDD
    1. 什么是 TDD
    2. 开发流程
    3. 特点
    4. 优势
  3. BDD
    1. 什么是 BDD
    2. 开发流程
    3. 特点

前端自动化测试#

优势#

  1. 更好的代码组织,项目的可维护性增强
  2. 更小的 Bug 出现概率,尤其是回归测试中的 Bug
  3. 修改工程质量差的项目,更加安全
  4. 项目具备潜在的文档特性
  5. 扩展前端的知识面

重要知识点#

  1. BDD 和 TDD
  2. 集成测试和单元测试
  3. 测试和业务的解耦
  4. 代码测试率并不代表一定靠谱
  5. 功能测试及 UI 测试
  6. 测试越独立,隐藏的问题越多

TDD#

什么是 TDD#

TDD:全称 Test Driven Development 测试驱动的开发,也叫 Red-Green Development,从红到绿的开发,即测试用例无法通过测试为红到测试用例测试成功为绿的开发。

开发流程#

  1. 编写测试用例
  2. 运行测试,测试用例无法通过测试
  3. 编写代码,使测试用例通过测试
  4. 代码优化,完成开发
  5. 重复上述步骤

特点#

  1. 先写测试再写代码
  2. 一般结合单元测试使用,是白盒测试
  3. 测试重点在代码
  4. 安全感低
  5. 速度快

优势#

  1. 长期减少回归 BUG
  2. 代码质量更好(组织,可维护性)
  3. 测试覆盖率高
  4. 错误测试代码不容易出现

BDD#

什么是 BDD#

BDD:全称 Behavior Driven Development 行为驱动开发。

开发流程#

  1. 编写代码
  2. 编写测试用例,使测试用例通过测试
  3. 代码优化,完成开发
  4. 重复上述步骤

特点#

  1. 先写代码再写测试
  2. 一般结合集成测试使用,是黑盒测试
  3. 测试重点在 UI (DOM)
  4. 安全感高
  5. 速度慢