Gidhub BE Developer

유닛(Unit) 테스트란?

2018-11-14
goodGid

유닛 테스트란?

  • 단위 테스트(Unit test)는 프로그램의 기본 단위인 모듈을 테스트하여 모듈 테스트(moduletest)라고도 한다.

  • 구현 단계에서 각 모듈의 개발을 완료한 후 개발자가 명세서의 내용대로 정확히 구현되었는지를 테스트한다.

  • 개별 모듈이 제대로 구현되어 정해진 기능을 정확히 수행하는지를 테스트한다.

  • 화이트박스 테스트와 블랙박스 테스트를 모두 사용할 수 있지만

  • 모듈 내부의 구조를 구체적으로 들여다볼 수 있는 화이트박스 테스트 같은 구조적 테스트를 주로 시행한다.

  • 단위 테스트가 개발된 모듈만 테스트하기 때문에 쉬울 것 같지만 시스템은 수많은 모듈이 서로 정보를 주고받으며 연결되어 있다.

  • 테스트할 모듈을 호출하는 모듈 도 있고 테스트할 모듈이 호출하는 모듈 도 있다.

  • 따라서 한 모듈을 테스트하려면 그 모듈과 직접 관련된 상위 모듈하위 모듈까지 모두 존재해야 정확히 테스트할 수 있다.

  • 그러나 하나의 모듈을 테스트할 때 상위나 하위 모듈이 개발이 안 된 경우도 있다.

  • 이때 상위나 하위 모듈이 개발될 때까지 기다릴 수는 없으므로 가상의 상위나 하위 모듈을 만들어 사용해야 한다.

  • 상위 모듈의 역할을 하는 가상의 모듈테스트 드라이버(test driver)라 하고 그 역할은 테스트할 모듈을 호출하는 것이다.

  • 즉 필요한 데이터를 인자를 통하여 넘겨주고 테스트가 완료된 후 그 결과 값을 받는 역할을 해준다.


  • 반대로 하위 모듈의 역할을 하는 모듈을 테스트 스텁(stub)이라고 한다.

  • 스텁 모듈은 테스트 할 모듈이 호출할 때 인자를 통해 받은 값을 가지고 수행한 후 그 결과를 테스트할 모듈에 넘겨주는 역할을 한다.

  • 따라서 드라이버와 스텁 모듈은 테스트할 때 필요한 기능만 제공할 있도록 단순히 구현한다.


Reference


Recommend

Index