본문으로 바로가기
TaeyoungKim.dev

소프트웨어 테스트 용어: unit test·regression·load·stress 구분

CS작성 약 4분 읽기TaeyoungKim
LinkedInX

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 — 스트레스 테스트란 부하테스트를 확장한 테스트로, 애플리케이션이 과부하 상태에서 어떻게 작동하는지 확인 하는 테스트.

작성자

TaeyoungKim

기초 개념을 구현과 검증, 실제 운영 판단까지 연결해 기록합니다.

함께 읽으면 좋은 글