유닛 테스트는 소프트웨어의 가장 작은 테스트 가능 요소(유닛)에 대하여 구현되고 논리 및 데이터 플로우, 유닛의 기능 및 관찰 가능 동작 등 내부 구조 테스트를 포함합니다. 유닛의 내부 구조에 초점을 맞추는
테스트의 디자인 및 구현은 해당 유닛의 구현 정보를 알아야 합니다(화이트 박스 접근 방식). 유닛의 관찰 가능한 동작 및 기능을 확인하기 위한 테스트의 디자인 및 구현은 구현 정보를 아는 것과 관련이 없으므로 블랙
박스 접근 방식으로 알려져 있습니다.
두 접근 방식은 모두 유닛 테스트를 성공적으로 완료하는데 필요한 다양한 유형의 테스트를 디자인하고 구현하는데 사용됩니다(기법: 테스트 유형 참조).
또한 유닛 테스트의 테스트 케이스 도출에 대한 추가 정보는 기법: 테스트 케이스를
참조하십시오.
화이트 박스 테스트 접근 방식은 유닛의 내부 구조를 확인하기 위해 사용됩니다. 이론적으로 코드를 통한 모든 가능한 경로를 테스트해야 하지만 이 테스트는 극히 단순한 유닛에서만 가능합니다. 최소한 한 번은 모든
DD(decision-to-decision) 경로를 실행해야 합니다. 적어도 한 번은 모든 명령문이 실행되기 때문입니다. 결정은 일반적으로 if-문이고 DD-경로는 두 결정 사이의 경로입니다.
이러한 레벨의 테스트 적용 범위를 얻으려면 테스트 데이터를 선택하여 가능한 모든 방법으로 모든 결정을 평가하는 것이 좋습니다.
코드 적용 범위 도구를 사용하여 화이트 박스 테스트로 실행하지 않은 코드를 식별하십시오. 신뢰성 테스트는 화이트 박스 테스트와 동시에 수행해야 합니다.
추가 정보 는 기법: 테스트 케이스를 참조하십시오.
블랙 박스 테스트의 목적은 유닛이 기능 및 동작을 구현하는 방법에 대해 알지 못하는 가운데 해당 유닛의 지정된 기능 및 관찰 가능한 동작을 확인하는 것입니다. 블랙 박스 테스트는 유닛의 입력 및 출력에
초점을 맞추고 이에 의존합니다.
블랙 박스 접근 방식에 기초한 유닛 테스트 도출은 유닛 오퍼레이션의 입력 및 출력 인수를 이용하거나 평가에 대한 출력 상태를 이용합니다. 예를 들어, 오퍼레이션은 알고리즘(입력으로 두 개의 값을 요구하고 출력으로
세 번째 값을 리턴함)을 포함하거나 오브젝트나 컴포넌트 상태 변경(예: 데이터베이스 레코드 추가 또는 삭제)을 시작할 수 있습니다. 둘 다 테스트를 완료해야 합니다. 오퍼레이션을 테스트하려면 다음을
확인하기 위해 충분한 테스트 케이스를 도출해야 합니다.
-
입력으로 사용된 각각의 올바른 값에 대해서는 오퍼레이션에 의해 적절한 값이 리턴되었습니다.
-
입력으로 사용된 각각의 올바르지 않은 값에 대해서는 오퍼레이션에 의해 적절한 값이 리턴되었습니다.
-
각각의 올바른 입력 상태에 대해 적절한 출력 상태가 발생합니다.
-
각각의 올바르지 않은 입력 상태에 대해 적절한 출력 상태가 발생합니다.
코드 적용 범위 도구를 사용하여 화이트 박스 테스트로 실행하지 않은 코드를 식별하십시오. 신뢰성 테스트는 블랙 박스 테스트와 동시에 수행해야 합니다.
추가 정보 는 기법: 테스트 케이스를 참조하십시오.
|