더북(TheBook)

테스트를 작성할 대상은 테스트 중인 주제(subject), 시스템(system), 테스트 대상(Suite Under Test, SUT)이다.

Note ≣ | SUT 정의

SUT는 테스트 중인 주제, 시스템, 테스트의 모음(suite)을 의미하며, 일부 사람들은 테스트 중인 컴포넌트(component), 클래스(class), 코드(code)를 의미하는 CUT(Component, class, code Under Test)라는 용어를 사용하기도 한다. 무언가를 테스트할 때, 테스트하고자 하는 주요 대상을 SUT라고 한다.

이제 단위 테스트에서 ‘단위(unit)’라는 단어를 이야기해 보자. 필자에게 단위는 시스템(system) 내 ‘작업 단위(unit of work)’ 또는 ‘사용 사례(use case)’를 의미한다.2 작업 단위에는 시작과 끝이 있으며, 이를 진입점(entry point)과 종료점(exit point)이라고 한다. 작업 단위를 간단한 함수로 예를 들어 보면, 무언가를 계산하고 계산된 값을 반환하는 함수가 적당할 듯하다. 그러나 함수는 내부에서 다른 함수나 모듈, 컴포넌트 따위를 사용할 수도 있으므로 진입점부터 종료점까지 아우르는 하나의 작업 단위는 단순한 함수 이상의 의미일 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.