Java/JUnit

JUnit 단위테스트

야구소년 2006. 10. 4. 17:30
  1. 단위 테스트란 무엇인가?
    • 개발자가 수행하는 최소 단위의 화이트 박스 테스트 (최소단위 = Method)
    • 프로그램 단위를 보다 큰 시스템으로 통합하기에 앞서 개발자가 수행하는 최소 단위의 테스트
    • 안정적인 동작 및 시스템의 원활한 통합을 목표로 하는 테스트
    • 일반적인 테스트 절차
      • 코딩/디버깅 => 단위 테스트 => 통합 테스트(서브 시스템 테스트 => 전체 시스템 테스트)
    • 일반적으로 개발자들은 단위 테스트를 하기 싫어한다.  why ? ==> 코딩을 해야하기 때문에
    • 테스트에는 화이트박스 테스트와 블랙박스 테스트가 있는데, 화이트박스 테스트는 테스트의 내부를 볼 수 있는, 즉 단위 테스트를 말하는 것이고, 블랙박스 테스트는 테스트하는 내부를 볼 수 없는, 즉 기능만을 측정하는 테스트이다.
    • JUnit은 단위 테스트를 수행하기 위한 오픈소스 프레임워크 이다.
    • 단위 테스트란 특정 메소드에 대한 정상 동작 여부를 확인하는 테스트이다.
    • JUnit => 단위 테스트 => coding => XP(Extream Programming:coding 중심)
      RUP(Rational Unified Process) => 절차중심
    • Test Case 란? => 단위 테스트 코드. 개발자는 해당 메소드에 대한 단위 테스트 코드를 작성한다.
  2. JUnit을 이용한 테스트 케이스 작성 절차
    • JUnit.framework.TestCase의 하위 클래스를 작성
    • 테스트의 조건이나 필요한 여러가지 작업은 setUp() 메소드에서 정의
      • setUp() => 테스트 전에 EJB를 lookup 한다.      
    • setUp()에서 설정한 다양한 자원을 반환하려면 tearDown() 메소드에서 정의    
      • setUp() => 테스트 전에 EJB를 lookup 한다.      
    • setUp()에서 설정한 다양한 자원을 반환하려면 tearDown() 메소드에서 정의
      • tearDown() => 자원을 해제
      • setUp()과 tearDown() 을 override
  3. Code Coverage 란?
    • code의 테스트가 얼마나 실행되었나?
  4. Assertion에 대해 반드시 알아두자.
    • assertEquals()와 assertSame() 의 차이점