Behaviour-Driven Development 2

테스트 용이성(Testability) 향상을 위한 DI(Dependency Injection)

이전 포스팅 BDD(Behaviour-Driven Development)에 대한 간략한 정리에서 같이 다루려고 했던 내용이다. 테스트 용이성이랑 말 그대로 테스트 대상을 얼마나 테스트하기 쉬운가에 대한 척도이다.테스트 대상이 얼마나 복잡한가? 얼마나 결합도가 높은가? 등 몇 가지 내용이 있지만 여기서는 테스트 용이성에서 결합도와 Mocking 에 대한 내용만을 간단히 다룬다.최대한 코드를 배제하겠다. 이 글에서 Mocking 은 Mocking 객체를 의미하며 이를 간단히 말하면 실제 객체를 흉내내는 가짜 객체를 하나 만드는 것이다. 실제 클래스와 동일한 인터페이스를 가지고 있어서 외부에서 볼 때는 가짜인지 모르고 사용할 수 있도록 설계된 클래스를 인스턴스화 한 것을 말한다. 이야기 진행을 위해서 테스트 ..

Dev 2017.06.19

BDD (Behaviour-Driven Development)에 대한 간략한 정리

BDD와 테스트 용이성에 대해서 간단히 정리가 필요해서 하는 김에 포스팅으로 올린다.한 번에 하려고 했는데 생각보다 양이 많아서 우선 BDD에 대해서만 정리한다. BDD가 TDD만큼 유명세를 타지는 않은 거 같은데 현업에서 두 가지 모두 사용해본 경험상 BDD를 선호한다.여기서 BDD는 Behaviour-Driven Development의 약자고 TDD는 Test-Driven Development의 약자다.어차피 BDD가 TDD에 기반을 두고 있다고 하는 만큼 둘이 엄청난 차이를 보이지는 않는다.다른 xDD도 많이 있겠지만 내가 사용해본 게 이 두 가지밖에 없어서 언급할 수가 없다. 흔히 알려진 것처럼 TDD는 테스트를 먼저 작성하고 그 테스트를 통과시키는 코드를 작성하는 흐름을 기본으로 한다.게다가 테..

Dev 2017.04.16
반응형