- SpecFlow 教程
- SpecFlow - 主页
- SpecFlow - 简介
- 测试驱动开发
- Behave驱动开发
- SpecFlow - Visual Studio 安装
- Visual Studio 扩展安装
- SpecFlow - 项目设置
- 其他项目依赖项
- SpecFlow - 运行器激活
- SpecFlow - HTML 报告
- SpecFlow - 结合测试步骤
- SpecFlow - 创建第一个测试
- 配置 Selenium Webdriver
- SpecFlow - 小Cucumber
- SpecFlow - 小Cucumber关键词
- SpecFlow - 特征文件
- SpecFlow - 步骤定义文件
- SpecFlow - 挂钩
- SpecFlow - 背景插图
- 数据驱动测试示例
- 没有示例的数据驱动测试
- 表转换为数据表
- 表转换为字典
- 带有 CreateInstance 的表
- SpecFlow - 带有 CreateSet 的表
- SpecFlow 有用资源
- SpecFlow - 快速指南
- SpecFlow - 有用的资源
- SpecFlow - 讨论
SpecFlow - 测试驱动开发
测试驱动开发也称为 TDD。它由以下一一遵循的步骤组成 -
步骤 1 - 创建测试。
步骤 2 - 验证测试是否失败。
如果测试通过,则创建第二个测试。
如果测试失败,则转到步骤 3。
步骤 3 - 修复测试以使其通过。
如果测试通过,则转到步骤 4。
如果测试失败,则跳至步骤 3。
步骤 4 - 启动代码折射器并重做上述所有步骤,直到开发完成。
TDD 的好处
TDD 的好处如下:
开发人员需要理解需求,以了解场景的结果应该是什么以及如何测试它。
仅当所有测试用例通过并且代码重构完成时,模块的实现才完成。因此,在进行下一个测试之前应该进行验证和重构。
重构完成后,单元测试套件将运行。
单元测试可以用作实时文档。
如果发现错误,则会创建测试以获取错误的详细信息。脚本已更新,以通过测试。同时,还执行其他测试,以确保现有功能不会因修复而破坏。
开发人员可以在测试执行阶段随时参与设计决策并进行改进,以确保应用程序正常运行。这样做是为了提高产品的可维护性。
开发人员确信会进行任何修改。这是因为如果这影响任何现有功能,则应通过执行测试来反映。这样可以快速解决错误。
在连续运行测试时,所有先前的错误修复也得到验证,并且可以避免类似的错误。
由于主要测试是在开发阶段进行的,因此交付前所需的测试时间很短。
TDD 的缺点
TDD 的缺点如下:
开发人员发现很难决定何时开始测试。
开发人员对测试什么感到困惑。
开发人员不知道是否涵盖了所有需求规范。
开发人员不确定他们的代码是否增加了业务价值。
关于 TDD 的神话
下面列出了有关 TDD 的误解 -
神话 |
事实 |
---|---|
TDD 只关心自动化测试。 |
TDD 是一种遵循测试优先方法的开发技术。 |
TDD 不包含设计。 |
TDD根据需求进行了深入的研究和设计。设计是在开发阶段完成的。 |
TDD 仅用于单元测试。 |
TDD 也适用于系统和集成测试。 |
正统的测试项目不能采用TDD。 |
TDD 用于敏捷开发。但它也可以用于常规测试项目。 |
TDD 被认为是一种工具。 |
TDD 是一种开发技术,会发布每个新的单元测试通过,它与自动化套件结合在一起,只要代码发生修改和重构活动后,自动化套件就会运行。 |