View

TDD(Test Driven Development)

hooti 2020. 11. 10. 14:50

 

  TDD(Test Driven Development)가 무엇인가요? 

 

한국어로 테스트 주도 개발이라고 부른다. 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 사전적으로는 어렵게 작성되어 있지만, 사실 용어 그대로 이해하면 된다. 개발을 하는데 테스트가 주가 되어야한다는 의미이며, [ 테스트를 염두한 프로그램 개발 방법 ] 으로 인식하면 된다.

 

기존 개발 프로세스

기존의 개발프로세스는 코드에 대한 설계를 미리 진행 후, 설계대로 작업을 진행했다. 개발이 완료되면 테스트를 진행하고, 만약 설계오류가 발생한다면 다시 설계를 수정해서 개발을 하는 순서였다. 해당 진행방식을 보완해서 나온것이 TTD다.

 

TTD 개발 순서

TTD는 설계 수정의 위치가 다르다. 설계 ▶ 테스트(코드작성) ▶ 설계수정 ▶ 개발(코드작성) 으로 진행된다. 해당 방식으로 진행하게되면 결과를 예상할 수 있기 때문에 설계문제로 인한 오류개선 속도가 빨라진다.

 

 


 

  TDD를 왜 써야할까? 

 

 

이 부분에 대해 이해를 하려면 초기 SW의 개발방법을 이야기해야한다. 초기 SW을 주로 개발했던 분야는 군사쪽의 대형프로젝트였다. 그래서 계획중심의 프로세스로 개발을 진행하게 되었는데, 이 당시에는 이런 프로세스로 진행하는것이 적합한 프로젝트가 대부분이였다.

 

하지만 90년대가 지나고 SW분야가 넓어지면서 주료 사용자가 [일반대중]으로 바뀌기 시작했다. 또한 과학의 발전으로 비즈니스 사이클로 짧아지면서 사람들의 욕구와 트렌트도 빠르게 변화하게 되었다. 이러한 변화는 SW 개발의 불확실성을 높히기 시작했고, 전통적인 개발 방식대로 진행하는 것이 맞지 않게 되었다. 

 

이러한 불확실성때문에 등장한 방법 중 한가지가 Test Driven Developmen이다. 불확실성이 높을때는 [피드백]과 [협력]이 중요한데 더욱 빠른 피드백과 협력을 중심으로 진행하여 더 좋은 결과를 나오는 확률을 높힌다.

 

 

 

 

참고문서 : gmlwjd9405.github.io/2018/06/03/agile-tdd.html

 

[Agile] TDD(테스트 주도 개발)란 - Heee's Development Blog

Step by step goes a long way.

gmlwjd9405.github.io

참고문서 : m.blog.naver.com/PostView.nhn?blogId=suresofttech&logNo=221039173819&proxyReferer=https:%2F%2Fwww.google.com%2F

 

TDD란?

오늘 날 소프트웨어는 빅데이터, IoT, 인공지능 등의 다양한 분야로 발전하고 있으며, 소프트웨어는 냉장...

blog.naver.com

 

Share Link
reply
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31