프로그래밍에서 모든 함수와 메서드에 대한 테스트 케이스(Test case)를 작성하여 의도된 대로 잘 동작하는지 검증하는 절차
프로그램을 작은 단위로 쪼개어 각 단위가 정확하게 동작하는지 검사함으로써 프로그램의 안정성을 높임
System.out.println()으로 하는 번거로운 디버깅이 필요없으며, 개발기간 중 대부분을 차지하는 디버깅 시간을 단축
자바 프로그래밍 언어용 유닛 테스트 프레임워크
테스트 결과는 Test클래스로 개발자에게 테스트 방법 및 클래스의 History를 공유 가능
단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별
어노테이션으로 간결하게 지원(JUnit4부터)