什么是测试驱动开发?


测试驱动开发也称为TDD。它包含以下步骤,需要逐一执行:

步骤1 - 创建测试。

步骤2 - 验证测试是否失败。

如果测试通过,则创建第二个测试。

如果测试失败,则转到步骤3。

步骤3 - 修复测试使其通过。

如果测试通过,则转到步骤4。

如果测试失败,则跳转到步骤3。

步骤4 - 开始代码重构并重复以上所有步骤,直到开发完成。

TDD 的优势

TDD 的优势如下:

  • 开发人员需要理解需求,才能知道场景的结果应该是什么以及如何测试它。

  • 只有在所有测试用例通过且代码重构完成后,才会进行模块的实现。因此,在进行下一个测试之前,应先进行验证和重构。

  • 完成重构后,需要运行单元测试套件。

  • 单元测试可以用作动态文档。

  • 如果发现错误,则创建一个测试以获取错误的详细信息。更新脚本以通过测试。同时,还执行其他测试以确保现有功能不会因修复而中断。

  • 开发人员可以参与设计决策,并在测试执行阶段随时改进设计,以确保应用程序正常工作。这样做是为了提高产品的可维护性。

  • 开发人员可以确信可以进行任何修改。这是因为如果这影响任何现有功能,它将通过执行测试来反映出来。这样可以快速解决错误。

  • 连续运行测试还可以验证所有之前的错误修复,并避免类似的错误。

  • 由于在开发阶段进行了主要的测试,因此交付前的测试时间较短。

TDD 的缺点

TDD 的缺点如下:

  • 开发人员难以决定何时开始测试。

  • 开发人员对测试什么感到困惑。

  • 开发人员不知道是否涵盖了所有必需的规范。

  • 开发人员不确定他们的代码是否增加了业务价值。

关于 TDD 的误解

关于 TDD 的误解如下:

  • 误解 - TDD 只关注自动化测试。

    事实 - TDD 是一种遵循测试优先方法的开发技术。

  • 误解 - TDD 不包含设计。

    事实 - TDD 进行了彻底的研究和设计,具体取决于需求。设计在开发阶段完成。

  • 误解 - TDD 只用于单元测试。

    事实 - TDD 也用于系统和集成测试。

  • 误解 - TDD 无法应用于传统的测试项目。

    事实 - TDD 用于敏捷开发。但它也可以应用于传统的测试项目。

  • 误解 - TDD 被认为是一种工具。

    事实 - TDD 是一种开发技术,每次新的单元测试通过后,它都会与自动化套件结合在一起,该套件在代码修改和重构活动后运行。

更新于:2021年11月18日

249 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告