PE Notes · SW
테스트 하니스·드라이버·스텁
ISTQB 시험 원리 위에 하니스 구성을 두고, 하향 스텁과 상향 드라이버, Mock의 행위 검증을 통합 전략과 비교합니다.
모듈이 한꺼번에 끝나지 않습니다. 위만 있고 아래가 없거나, 아래만 있고 위가 없으면 시험을 못 돌리는 것처럼 보입니다. 는 그 빈칸을 임시 부품으로 메워 자동 실행하는 틀입니다. 드라이버·스텁·Mock·데이터·리포트가 한 실행 환경에 묶입니다. IEEE 829와 가 문서 자리를, 가 원리를 줍니다.
일곱 원리와 하니스
시험은 결함이 있음을 보일 수 있어도, 없음을 증명하지 못합니다. 모든 입력을 칠 수 없으니 위험 순으로 고릅니다. 일찍 칠수록 고치는 값이 쌉니다. 결함은 소수 모듈에 몰립니다(). 같은 케이스를 반복하면 새 벌레가 안 나옵니다(살충제 역설). 방식은 시스템 종류에 달렸고, 결함이 없어도 요구를 못 맞추면 품질이 아닙니다.
는 아직 없는 상위처럼 아래 모듈을 호출합니다. 상향식(Bottom-Up) 통합입니다. 실제 하위 기능을 일찍 검증하고, 초기에 시스템 전체 모습은 없습니다. 은 아직 없는 하위처럼 정해 둔 값을 돌려줍니다. 하향식(Top-Down)입니다. 흐름을 일찍 보고, 스텁을 만드는 비용이 듭니다.
은 스텁을 넘어 호출 여부·횟수·순서를 검증합니다. 스텁은 값을 주고, Mock은 협력을 잽니다. Mockito·Sinon 같은 도구가 기대 설정을 받습니다. Fake는 가벼운 실제(메모리 DB), Spy는 실객체에 기록을 붙입니다.
| 비교축 | 드라이버 | 스텁 | Mock |
|---|---|---|---|
| 자리 | 상위 대행 | 하위 대행 | 하위 대행+행위 |
| 통합 | 상향 | 하향 | 주로 단위 |
| 확인 | 호출 결과 | 반환 값 | 상호작용 |
| 제거 | 실제 상위 후 | 실제 하위 후 | 대상 완성 후 |
통합 네 갈래
하향은 스텁, 상향은 드라이버입니다. 샌드위치는 둘을 같이 씁니다. 빅뱅은 임시 부품 없이 한 번에 붙이며 결함 위치가 흐립니다. 에 하니스를 물리면 커밋마다 같은 대체가 돕니다. 성능 시험의 부하는 완성된 경로를 재고, 하니스는 그 경로가 아직 비어 있을 때 단위·통합을 살립니다. 바이브 코딩이 코드를 빠르게 채워도, 호출 방향이 비면 드라이버와 스텁이 먼저입니다.
답안은 일곱 원리 중 부재 증명 불가·살충제·결함 집중, 드라이버=상향 호출, 스텁=하향 반환, Mock=행위 검증을 한 표에 올립니다.