티스토리 뷰

면접대비

TDD와 Junit에 대해

빵파레2 2019. 11. 1. 11:40

TDD란?


  • Test Driven Development
  • 테스트 주도 개발 : 테스트가 개발을 이끌어 나간다.
  • 반복 테스트를 이용한 소프트웨어 개발방법
  • 테스트를 먼저 만들고 테스트를 통과하기 위한 코드를 짜는 방식

 

TDD의 절차


  1. 테스트 케이스 작성
  2. 테스트를 통과하기 위한 최소한의 코드 작성
  3. 테스트 확인
  4. 테스트를 통과하지 못했다면 2,3번 다시 수행, 통과했다면 1번부터 다시 수행 (새로운 테스트 추가)

- 모든 테스트 케이스를 통과하는 코드 작성 후 리팩토링

 

 

 

TDD의 장점


  • 코드를 안정적이게 개발할 수 있다.
  • 깔끔한 코드를 얻을 수 있으며 유지보수가 용이해진다.
  • 프로그램의 품질을 높이고 안정성을 확보할 수 있다.

 

TDD의 단점


  • 테스트 케이스 개발에 소요되는 시간으로 인해 개발 시간이 늘어난다.
  • 기존의 개발 방식과 다른 익숙하지 않은 방식이기 때문에 적응하는데 노력이 필요하다.

 

Junit이란?


  • Junit이란 Java의 단위 테스팅 도구이다.
  • 단위 테스트 Framework중 하나이다.
  • Maven, Gradle을 통해 dependency를 추가한 후 사용 가능

 

JUnit assert관련 메서드


 

JUnit Annotation


  • @Test : 해당 메소드가 Test대상 메소드임을 의미
  • @BeforeClass : 해당 테스트가 시작 전에 딱 한 번씩만 수행되도록 지정
  • @AfterClass : 해당 테스트가 끝나고 딱 한 번씩만 수행되도록 지정
  • @Before : 해당 테스트가 진행이 시작되기 전에 작업할 내용을 호출
  • @After : 해당 테스트가 진행이 끝난 후에 작업할 내용을 호출
  • @Ignore : TestCase를 무시

 

참고자료


https://gmlwjd9405.github.io/2018/06/03/agile-tdd.html

https://nesoy.github.io/articles/2017-02/JUnit

'면접대비' 카테고리의 다른 글

프록시 서버에 대해  (0) 2019.09.18
Ajax에 대해  (0) 2019.09.14
TCP와 UDP에 대해  (0) 2019.09.11
프로세스와 스레드에 대해  (0) 2019.09.10
싱클톤 패턴에 대해  (0) 2019.09.09