TDD:测试驱动开发(Test-Driver Development)
测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行,但测试驱动开发并不只是单纯的测试工作,而是把需求分析、设计和质量控制量化的过程。TDD首先考虑使用需求(对象、功能、过程、接口等),主要是编写测试用例框架对功能的过程和接口进行设计,而测试框架可以持续进行验证。
ATDD:验收测试驱动开发(Acceptance Test Driven Development)
验收测试驱动开发是一种实践。在准备实施一个功能或特性之前,团队首先需要定义出期望的质量标准和验收细则,以明确且达成共识的验收测试计划(包含一系列测试场景)来驱动开发人员的功能开发实现和测试人员的测试脚本开发。面向开发人员,强调如何实现系统以及如何通过验收测试。
BDD行为驱动开发(Behavior Driven Development)
行为驱动开发是一种敏捷软件开发技术,它鼓励软件项目中开发者、QA、非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD最初由Dan North在2003年命名,它包括验收测试和客户测试驱动等极限编程的实践,作为对测试驱动开发的回应。
DDD:领域驱动开发(Domain Drive Design)
领域驱动设计是对面向对象的的分析和设计(OOAD,Object Orient Analysis Design)的一个补充,对技术框架进行了分层规划,同时对每个类进行了策略和类型划分。领域模型是领域驱动的核心 ,采用DDD的设计思想,业务逻辑不再集中在几个大型的类上,而是在大量相对小的领域对象上,这些类具有自己的状态和行为,每个类都是完成的独立的,并与现实领域的业务对象形成一种映射。基于DDD的架构设计,保证了系统的可维护性,扩展性和敏捷性,在处理复杂业务逻辑方面有着明显的优势!
参考资料:Selenium 2 自动化测试实战 基于Python语言 虫师编著