行为驱动开发(BDD)与单元测试深度解析
1. BDD概述
行为驱动开发(BDD)最初是用于发现、说明和验证业务需求的工具。在实现场景的步骤方法时,可借助场景示例挖掘下一层所需的功能。编写生产代码时,同样能通过这种方式发现所需的服务并编写理想代码。想象最适合自己的代码是一种强大的设计实践,在这个过程中,需要思考完成任务所需的信息、要调用的服务、这些服务是否存在、获取所需数据的便捷方式以及数据形式等。编写这种想象中的代码,实际上是为尚未存在的API提供使用示例,且由于未编写实现代码,示例不会受技术解决方案先入为主的影响,而是从API使用者的角度出发,以易用性为导向。
BDD在需求层面(使用Cucumber和JBehave等注重沟通的工具)自然地延伸到更技术化的层面(常使用与单元测试相关的工具)。
1.1 不同类型的非UI验收测试
非UI验收测试包括以下几种情况:
- 测试选择 :明确何时使用UI测试,何时更适合使用非Web测试。
- 绕过UI测试 :学会编写绕过UI直接测试控制器层、服务层或业务逻辑的BDD场景。
- 远程服务测试 :掌握为Web服务等远程服务编写BDD场景的方法。
- 非功能需求验证 :利用BDD场景描述和验证性能等非功能需求。
- API设计与低级别BDD :理解需求层面的BDD技术如何促进简洁、设计良好的API,并自然地过渡到单元和集成测试级别的低级别BDD实践。
超级会员免费看
订阅专栏 解锁全文
834

被折叠的 条评论
为什么被折叠?



