반응형

[Junit] Junit이란


연결된 포스팅: ( [Junit] intellij(인텔리J) 에서 Junit사용해보기(설정편)    [Junit] intellij(인텔리J) 에서 Junit사용해보기(실행편))


1. Junit이란?


Junit은 단위테스트 도구 입니다. 외부 테스트 프로그램(케이스)를 작성하여 System.out으로 번거롭게 디버깅 하지 않아도 됩니다. 프로그램 테스트 시 걸릴 시간도 관리할 수 있게 해주며 오픈소스입니다. 어느정도 개발이 진행되면 프로그램에 대한 단위 테스트는 반드시 수행해야합니다. Junit은 보이지 않고 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위테스트를 쉽게 해주는 테스트용 Framework입니다.

assertXX를 사용하여 Test를 진행합니다. Junit은 테스트 결과를 확인하는 것 외에도 퇴적화된 코드를 유추해내는 기능도 제공합니다. 또한, 테스트 결과를 단순한 텍스트로 남기는 것이 아니라 Test클래스로 남기기 때문에 개발자에게 테스트 방법 밑 클래스의 History를 넘겨줄 수 도 있습니다. 


2.Junit의 특징

  a. 단위 테스트 Framework중 하나 

  b. 문자 혹은 GUI기반으로 실행된

  c. 단정문으로 테스트 케이스의 수행 결과를 판별함(assertEquals(예상값, 실제값)

  d. 어노테이션으로 갈결하게 지원함

  e. 결과는 성공(녹색), 실패(붉은색) 중 하나로 표시



3.TDD(Test Driven Develop)

참조

https://namu.wiki/w/%ED%85%8C%EC%8A%A4%ED%8A%B8%20%EC%A3%BC%EB%8F%84%20%EA%B0%9C%EB%B0%9C


개요 

테스트 주도 개발(Test Driven Development, TDD)은 익스트림 프로그래밍 개발방법론의 실천 방안 중 하나이다. 개발이 이루어진 다음 그것이 계획대로 잘 완성되었는지 테스트 케이스를 작성하고 테스트하는 타 방식과는 달리, 테스트 케이스를 먼저 작성한 다음 테스트 케이스에 맞추어 실제 개발 단계로 이행하는 개발방법론을 말한다.


장점

  • 코드의 유지보수가 용이해진다
    프로그래밍 개발에서는 처음 개발할 때보다 이미 개발한 코드의 버그를 수정하고, 최적화하고, 새 기능을 추가할 때 비용이 더 들어간다. 그런데 테스트를 작성하면 코드에 절대로 뒤떨어지지 않는 문서가 탄생하며, 다른 코드의 행위가 보증되므로 원하는 부분에만 신경을 쓸 수 있으며, 테스트하기 쉬운 코드는 자연히 품질이 높아지므로 다시 읽기도 편하다. 또한 테스트가 있으면 안심하고 코드를 리팩토링할 수 있다.

  • 프로그래밍 시간이 단축된다.
    테스트를 작성하는 시간을 포함시키고도 오히려 전체 작업 시간은 줄어든다. 왜냐하면 프로그래밍에서 대부분의 시간이 디버깅에 투입되는데, 테스팅은 디버깅을 해야 할 범위를 단위 안으로 제한함으로써 디버깅에 들어가는 노고를 크게 줄여준다. 또한 유지보수시에도 상술한 이유로 효율이 높아진다.



반응형

+ Recent posts