BDD是什么
- BDD最初由Dan North在2003年命名,全称Behavior Driven Development,行为驱动开发,是一种敏捷软件开发的技术
- BDD是基于一种“通用语言”,可以让客户、产品经理等将需求通过同一种语言描述出来,很大程度上避免了因为理解或表达不一致带来的问题,大大提高产品的交付品质
- 相关概念:TDD(Test Driven Development),测试驱动开发
常用的BDD测试框架
目前,支持BDD自动化测试的框架有很多,且支持各种不同的语言,例如:
- Cucumber:基于Ruby编写的自动化测试框架,支持Java和.Net等多种语言
- Behave/Lettuce/Freshen: Python style的测试框架
- Jbehave/ beanSpec :基于Java编写的自动化测试框架
- SpecFlow:.Net测试框架
cucumber简介
Cucumber是实现BDD开发模式的一种测试框架,使用Gherkin语言来描述测试功能、测试场景、测试步骤和测试结果,支持超过40中自然语言,包括英文和中文。
基于Cucumber的BDD的测试流程如下:
- .feature:定义需求场景及步骤描述
- 步骤定义:步骤描述的具体实现,即可执行的步骤代码
- 运行测试:执行测试用例
- 生成报告:Cucumber支持生成多种格式的测试报告