차지

[Test] TDD 본문

Android/TDD

[Test] TDD

Cha_Ji 2021. 9. 21. 19:55

Test Driven Development

  • 테스트가 개발을 이끌어 나간다.
  • 테스트를 먼저 작성해서 수시로 피드백을 받는 기법입니다.

항상 옳을까?

  • 불확실성이 높다면 옳다고 할 수 있습니다.

  • 처음 접하는 주제, 수시로 바뀌는 요구조건, 유지보수의 역할을 타인에게 넘겨야 할 경우

  • 위와 같은 경우에 이롭습니다.

  • 유지보수 비용, 버그가 줄어들고 가독성이 좋아지는 효과가 있습니다.

  • 내가 작성하지 않은 코드를 수정할 때, 테스트에서 상세히 피드백을 받으며 진행할 수 있습니다.

그럼 무조건 써야되나?

  • 미래의 유지보수를 대비하기에 좋지만, 당장의 성과가 더 중요할 때가 많습니다.
  • 개발시간에 테스트 코드를 짜는 시간까지 더해져 효율이 좋지 않습니다.
  • 도구와 규칙에 얽매이게 되는데, 애자일에 어긋나는 행위입니다.

BDD?

  • Behavior, 행동 중심으로 개발자가 아닌 사용자의 관점으로 개발합니다.
  • 개발자가 아닌 고객이 테스트할 수 있게 작성합니다.

끝으로

저는 개인적으로 코드를 작성할 때, 항상 객체지향적으로 구현하려 하지만, 사실 객체의 역할과 책임이 모호할 때가 많습니다.
그럴 때 테스트 코드를 먼저 작성하거나, 테스트 코드를 고려하며 작성하는 것이
역할을 깨닫게 하는데 도움이 되었고, 구조가 예뻐진다고 느꼈습니다.
TDD가 항상 옳지는 않더라도 제 취향과는 잘 맞네요ㅎㅎ

'Android > TDD' 카테고리의 다른 글

[Test] private 변수 테스트에서 사용하기  (0) 2021.10.10
[Test] LiveData test하기  (0) 2021.09.22
[Test] Test code 작성  (0) 2021.09.22
[Test] Test Double & Mock  (0) 2021.09.21