BDD는.. 또 어떤 개념인거지..?
국내에는 관련 서적이 보이질 않는다.
Behaviour-Driven Development (BDD) is an evolution in the thinking behind TestDrivenDevelopment and AcceptanceTestDrivenPlanning.
It brings together strands from TestDrivenDevelopment and DomainDrivenDesign into an integrated whole, making the relationship between these two powerful approaches to software development more evident.
It aims to help focus development on the delivery of prioritised, verifiable business value by providing a common vocabulary (also referred to as a UbiquitousLanguage) that spans the divide between Business and Technology.
It presents a framework of activity based on three core principles:
Business and Technology should refer to the same system in the same way - ItsAllBehaviour
Any system should have an identified, verifiable value to the business - WheresTheBusinessValue
Up-front analysis, design and planning all have a diminishing return - EnoughIsEnough
BDD relies on the use of a very specific (and small) vocabulary to minimise miscommunication and to ensure that everyone – the business, developers, testers, analysts and managers – are not only on the same page but using the same words.
For people familiar with the concept of DomainDrivenDesign, you could consider BDD to be a UbiquitousLanguage for software development.
It must be stressed that BDD is a rephrasing of existing good practice, it is not a radically new departure. Its aim is to bring together existing, well-established techniques under a common banner and with a consistent and unambiguous terminology. BDD is very much focused on “Getting the words right” and this focus is intended to produce a vocabulary that is accurate, accessible, descriptive and consistent.
http://www.jbehavior.org 는 BBD의 프로세스를 진행할 수 있도록 지원하는 툴인듯 하다.
TDD학습을 언넝 끝내놓고 DDD와 BDD를 함께 배워봐야겠다.