반응형
개념정리
TDD 란?
TDD(Test-Driven Developmen)란?
- 테스트 주도형 개발
- 매우 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다.
- 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 테스트를 통과하는 가장 간단한 코드를 작성한다. 일단 테스트 통과하는 코드를 작성하고 상황에 맞게 리팩토링하는 과정을 거치는 것이다. 말 그대로 테스트가 코드 작성을 주도하는 개발방식이다.
- 테스트 주도형 개발에선, 새로운 기능을 추가하기 전 테스트를 먼저 작성한다. 테스트를 작성하기 위해서, 개발자는 해당 기능의 요구사항과 명세를 분명히 이해하고 있어야 한다.(사용자 케이스와 스토리 등)
TDD의 장단점
장점
- 개발자가 코드를 작성하기 전에 요구사항에 집중 할 수 있다.
- 새로운 기능 추가 시 새로운 기능과 기존 기능들이 충돌없이 잘 작동하는지 확인 가능하다.
- 리팩토링 시 테스트코드가 중심을 잡아줄 수 있다.
단점
- 코드량의 증가로 빠른 생산성이 요구되는 경우 걸림돌이 된다.
- 테스트 코드를 작성하는데 어려움이 발생하는 경우, 팀이 테스트코드에 익숙하지 않은 경우 테스트코드에 집중할 수 없다.
- 테스트 코드가 모든 코드에 대해 테스트코드를 작성할 수 없으며, 무결하다고 말할 수 없다.
반응형
'개발 하나둘셋 > CS' 카테고리의 다른 글
[ Algorithm] 시간복잡도 / 공간복잡도 / 점근 표기법 (0) | 2021.12.04 |
---|---|
SQL Injection이란? (SQL 삽입공격) (0) | 2021.12.03 |
[네트워크] RESTful 하게 API를 디자인 한다는 것은? (0) | 2021.11.29 |
[네트워크] HTTP와 HTTPS의 특징과 차이점 (0) | 2021.11.19 |
[네트워크] REST API와 HTTP 메소드정리 (0) | 2021.11.17 |