-
테스트 주도 개발 (Test Driven Development)카테고리 없음 2020. 4. 6. 18:15
Test Driven Delveopment
테스트를 먼저 만들고 테스트를 통과하기 위한 코드를 만들어서 테스트를 통과하는 코드를 만들고, 또 다른 테스트를 만드는 과정을 반복하여서 제대로 동작하는지 피드백을 적극적으로 받는 것입니다.
예를 들어, 생년월일(input)을 입력받으면 현재 나이(output)를 출력하는 프로그램
1. 간단한 목표를 설정 (태어난 해와 올해의 연도를 입력) - 2002, 2020 -> 18살
2. 먼저, 테스트를 만든다. - 2002와 2020을 입력하면 18이 나오는 테스트
3. 그다음에 테스트를 통과할 프로그램을 만든다.
4. 테스트를 실행하고, 통과하면 새로운 테스트를 추가한다.
위와 같은 작업을 계속 반복한다.
테스트 주도 개발은 결정과 피드백 사이의 갭을 조절하기 위한 테크닉이라고 할 수 있습니다.
불확실성이 높은 개발에는 피드백과 협력이 중요합니다. 테스트를 통해 이 두가지를 동시에 증진시킬 수 있습니다. 테스트를 다른사람이 직접 실행시켜보며 코드에 담겨있는 개발자의 고민과 의사결정을 쉽게 알 수 있기 때문입니다. 또한 개발하며 발생되는 버그들을 사전에 알게되어 예상하지 못한 시간소요를 줄일 수 있습니다.
단위 테스트(Unit Test)