가이드라인: 단위 테스트
주제
단위 테스트는 소프트웨어 중에서 가장 작은 테스트 가능 요소(단위)에 대해 구현되고 논리 및 데이터 플로우,
그리고 단위의 기능 및 관찰 가능한 작동과 같이 내부 구조 테스트가 수반됩니다. 단위의 내부 구조에 중심을 둔
테스트를 설계하고 구현하기 위해서는 단위의 구현(화이트 박스 접근 방법)에 대한 지식이 절대적으로
필요합니다. 단위의 관찰 가능한 작동 및 기능을 확인하는 테스트의 설계 및 구현은 구현 지식에 의존하지
않으므로 블랙 박스 접근 방법으로 알려져 있습니다.
두 가지 접근 방법은 단위 테스트를 완벽하게 수행하는 데 필요한 다양한 유형의
테스트( 개념: 테스트의 유형 참조)를 설계하고 구현하기 위해
사용합니다.
단위 테스트에 대한 테스트 케이스를 도출하는 정보는
가이드라인: 테스트 케이스를 참조하십시오.
단위의 내부 구조를 확인하려면 화이트 박스 테스트 접근 방법을 선택해야 합니다. 이론적으로 코드를 통한
가능한 모든 경로를 테스트해야 하지만 이는 매우 단순한 단위에서만 가능합니다. 최소한 한 번 모든 명령문을
실행하기 때문에 최소한 모든 decision-to-decision 경로(DD 경로)를 한 번 사용해야 합니다. 결정은 일반적으로
if 명령문이며 DD 경로는 두 결정 사이의 경로입니다.
이러한 레벨의 테스트 커버리지를 확보하려면 모든 결정이 가능한 모든 방법으로 평가되도록 테스트 데이터를
선택하는 것이 좋습니다.
화이트 박스 테스트에서 사용하지 않은 코드를 식별하려면 코드 커버리지 툴을 사용하십시오. 신뢰성 테스트는
화이트 박스 테스트와 동시에 수행되어야 합니다.
추가 정보는 가이드라인: 테스트 케이스를 참조하십시오.
블랙 박스 테스트의 목적은 단위가 기능 및 작동을 구현하는 방법에 대한 지식이 없는 상태에서
단위의 지정 기능 및 관찰 가능한 작동을 확인하는 데 있습니다. 블랙 박스 테스트는 단위의 입출력에
중심을 두고 의존합니다.
블랙 박스 접근 방법에 따라 단위 테스트를 도출하려면 단위 조작의 입출력 인수 및/또는 평가에
대한 출력 상태를 이용해야 합니다.
예를 들어, 조작은 입력으로 두 가지 값을 요구하고 출력으로 1/3을 리턴하는 알고리즘을 포함하거나
데이터베이스 레코드 추가 또는 삭제와 같은 객체 또는 컴포넌트의 상태 변경을 시작할 수 있습니다. 모두
완벽하게 테스트해야 합니다. 조작을 테스트하려면 충분한 테스트 케이스를 도출하여 다음을 확인해야 합니다.
- 입력으로 사용된 올바른 값 각각의 경우 해당 값은 조작에 의해 리턴되었습니다.
- 입력으로 사용된 올바르지 않은 값 각각의 경우 해당 값만 조작에 의해 리턴되었습니다.
- 올바른 입력 상태 각각의 경우 해당 출력 상태가 발생합니다.
- 올바르지 않은 입력 상태 각각의 경우 해당 출력 상태가 발생합니다.
화이트 박스 테스트에서 사용하지 않은 코드를 식별하려면 코드 커버리지 툴을 사용하십시오. 신뢰성 테스트는
블랙 박스 테스트와 동시에 수행되어야 합니다.
추가 정보는 가이드라인: 테스트 케이스를 참조하십시오.
|