unit test와 regression test는 둘 다 오류를 찾지만 확인하는 범위가 다르다. load testing은 예상 부하에서의 동작을, stress testing은 한계를 넘겼을 때의 반응을 살핀다. 테스트 결과를 읽을 때는 성공·실패 수치보다 먼저 무엇을 검증하려던 실행인지 확인한다.
핵심어
unit 테스트는 작은 단위를, regression 테스트는 변경 뒤 기존 동작을 확인한다. load와 stress 테스트는 서로 다른 부하 조건을 살핀다.
| 영단어 | 의미 |
|---|---|
Test case | 테스트 케이스란 시험을 수행하기 위해 기본이 되는 문서화된 항목으로 시험할 구체적인 내용을 문서화한 것으로 직접 시험을 수행하는 근간이 되고, 시험을 수행했다는 증거가 되며, 시험이 커버하는 범위를 표현함. |
unit test | 단위 테스트란 원시 코드를 시험 대상으로 하며 하나의 소프트웨어 모듈이 정상적으로 기능을 수행하는지 여부를 시험하는 최소 수준의 시험. |
white-box testing | 화이트박스 테스트란 내부 구조를 분석해서 프로그램의 모든 처리 경로에 대해 시험하여 프로그램 내부 구조의 결함 여부를 시험하는 방식. |
black box testing | 블랙박스 테스트란 시스템이나 시스템 구성 요소 또는 프로그램 내부 구조의 자세한 지식 없이 프로그램의 실행을 통해서 수행하는 시험. 시스템 요구사항의 명세에 맞는지를 파악하는 시험으로 시스템의 내부 구조를 블랙박스로 보고 입력과 출력을 확인함으로서 시스템의 오류를 발견하는 방식. |
함께 구분할 단어
| 영단어 | 의미 |
|---|---|
Pareto principle | 파레토 원칙이란 80%의 결과가 20%의 원인에 따라 결정되는 현상. 애플리케이션의 20%에 해당하는 코드에서 전체 80%의 결함이 발견된다고 적용하기도 함. |
Pesticide Paradox | 살충제 패러독스란 살충제를 지속적으로 뿌리면 벌레가 내성이 생겨 죽지 않듯이 동일한 테스트 케이스를 사용하여 반복적으로 테스트를 수행하면 새로운 버그를 찾지 못한다는 소프트웨어 테스트 원리. |
walkthrough | 워크스루(검토회)란 소프트웨어 개발자의 작업 내역을 개발자가 모집한 전문가들이 검토하는 것. |
inspection | 인스펙션(검사)이란 워크스루를 발전시킨 형태로 소프트웨어 개발 단계에서 산출된 결과물의 품질을 평가하며 이를 개선하기 위한 방법 등을 제시하는 것. |
코드에서 만나는 단어
| 영단어 | 의미 |
|---|---|
regression test | 회귀 테스트란 이미 테스트된 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험. |
test oracle | 테스트 오라클이란 테스트 케이스에 대한 예측 시험 결과를 계산하거나 실제 결과가 정확한지를 확인하는 메카니즘이나 장치 (facilities). |
Load testing | 부하 시험이란 애플리케이션에 일정 시간 동안 부하를 가하면서 반응을 측정하는 테스트. |
Stress testing | 스트레스 테스트란 부하테스트를 확장한 테스트로, 애플리케이션이 과부하 상태에서 어떻게 작동하는지 확인 하는 테스트. |
실무 문서에서 만나는 장면
load testing과 stress testing은 둘 다 부하를 주지만 목표가 다르다. 정상 범위의 성능과 한계 상황의 버팀을 구분한다.
한 문장에 낯선 용어가 여러 개 보여도 전부 동시에 외울 필요는 없다. 먼저 주어와 동작을 찾고, 나머지는 범위·상태·도구를 보충하는 말로 나눈다. 단어가 길어 보여도 역할을 붙이면 문장이 작은 부품처럼 분해된다. 단어가 길다고 뜻까지 어려운 것은 아니다. 대상과 동작을 나누면 문장이 훨씬 얌전해진다.
핵심 요약
무엇을, 어떤 조건에서, 어떤 기준으로 확인하는 테스트인지 본다.
- Test case — 테스트 케이스란 시험을 수행하기 위해 기본이 되는 문서화된 항목으로 시험할 구체적인 내용을 문서화한 것으로 직접 시험을 수행하는 근간이 되고, 시험을 수행했다는 증거가 되며, 시험이 커버하는 범위를 표현함.
- walkthrough — 워크스루(검토회)란 소프트웨어 개발자의 작업 내역을 개발자가 모집한 전문가들이 검토하는 것.
- Stress testing — 스트레스 테스트란 부하테스트를 확장한 테스트로, 애플리케이션이 과부하 상태에서 어떻게 작동하는지 확인 하는 테스트.

