BDD의 어두운 현재
BDD에 대한 흥미로운 주제가 있는데 한 번 이야기하고 넘어가겠다. 우선 BDD는 TDD와는 관련이 없다. 이 용어를 처음 만든 것으로 알려진 댄 노스(Dan North)는 BDD를 ‘스토리(story)와 예제를 사용하여 애플리케이션이 어떻게 동작해야 하는지 설명하는 방법’이라고 했다. 이는 주로 기술적인 이해도가 낮은 업무 관계자들(제품 관리자, 고객 등)과 협업을 목표로 한다. RSpec은 RBehave에서 영감을 받아 대중에게 스토리 중심의 접근 방식을 소개했으며, 그 과정에서 유명한 Cucumber를 포함한 많은 프레임워크가 등장했다.
하지만 이 이야기에는 어두운 면도 있다. 많은 프레임워크가 비개발직군을 고려하지 않은 채로 만들어졌고 사용되어 왔으니 이는 BDD 철학과는 완전히 반대되는 것이다.
필자에게 오늘날의 BDD 프레임워크는 ‘약간의 문법적 편의(syntactic sugar)가 가미된 테스트 프레임워크’라는 의미로 다가온다. 개발자들은 BDD 프레임워크를 팀원 간 소통과 대화를 위해서는 사용하지 않고 거의 자동화 테스트를 수행하는 도구로 사용한다. 필자는 심지어 강력한 Cucumber 프레임워크조차도 이 방식으로 사용되는 것을 본 적이 있다.