본문으로 건너뛰기
입문약 4시간 (예상)

테스팅의 본질

테스트가 필요한 이유, 오류·결함·실패의 구분과 전파, 테스트 레벨과 유형, 그리고 "완전한 테스트는 불가능하다"는 전제 위에서 기대치를 조정하는 법.

학습 목표

이 커리큘럼의 첫 모듈이다. 전공자가 아니어도 읽을 수 있게 썼다. 여기서 다루는 것은 도구나 코드가 아니라, 이 일을 하는 사람들이 쓰는 말과 사고방식이다 — 무엇을 품질이라 부르는지, 왜 다 확인하는 것이 불가능한지, 그래서 무엇을 보고 무엇을 포기하기로 정하는지. 첫 레슨이 이 분야의 기본 용어를 한 번에 정리해 주므로 거기서부터 읽으면 된다.

이 모듈을 마치면 "테스트가 왜 필요한가"를 팀원과 이해관계자(그 결정에 걸린 사람들 — 기획자·개발자·영업·고객)에게 근거를 들어 설명할 수 있다. 오류·결함·실패가 어떻게 서로 다른 개념이고 어떻게 이어지는지, 테스트를 어느 레벨(단위·통합·시스템·인수)과 어느 유형(기능·비기능·회귀·확인)으로 나눠 접근하는지, 그리고 "완전한 테스트는 불가능하다"는 전제 위에서 현실적인 기대치를 어떻게 조정하는지를 다룬다.

완료 후 할 수 있는 것

  • 검증(Verification)과 확인(Validation)의 차이를 예시로 설명할 수 있다
  • 오류 → 결함 → 실패로 이어지는 전파 경로를 코드 예시로 추적할 수 있다
  • 단위·통합·시스템·인수 테스트 각각이 무엇을 검증하는지 구분할 수 있다
  • 기능·비기능·회귀·확인 테스트를 상황에 맞게 구분해 부를 수 있다
  • "테스트로 결함이 없음을 증명할 수 없다"는 전제로 테스트 범위를 현실적으로 협상할 수 있다
  • QA·QC·테스터의 역할 차이와, 조직에서 이 역할들이 어떻게 배치되는지 설명할 수 있다

채용시장에서의 위치

이 모듈의 내용은 QA 직무 면접의 가장 첫 관문이다. "테스트와 디버깅의 차이는?", "검증과 확인의 차이는?", "왜 100% 테스트가 불가능한가?" 같은 질문은 신입 공고에서도 거의 빠지지 않는다. 화려하지 않지만, 여기서 막히면 이후 모든 대화가 어려워진다 — 설계 기법(모듈 3)도, 자동화(스테이지 4)도 결국 "무엇을, 왜 검증하는가"라는 이 모듈의 질문 위에 서 있다.

레슨 (6개)

  1. 입문약 20분

    왜 테스트가 필요한가 — 품질과 결함의 관계

    품질과 결함이 무엇인지 정의하고, 결함을 늦게 발견할수록 비용이 왜 기하급수적으로 커지는지 이해한다.

  2. 입문약 22분

    검증과 확인, 오류·결함·실패의 구분과 전파

    제대로 만들고 있는가(검증)와 맞는 것을 만들고 있는가(확인)를 구분하고, 사람의 실수가 결함을 거쳐 실패로 드러나는 경로를 코드로 추적한다.

  3. 입문약 20분

    테스트 레벨 — 단위·통합·시스템·인수

    같은 기능도 어느 레벨에서 테스트하느냐에 따라 다른 결함이 드러난다. 네 레벨이 각각 무엇을 확인하는지 구분하고, 어느 레벨에 투자할지 판단하는 기준을 익힌다.

  4. 입문약 20분

    테스트 유형 — 기능·비기능·회귀·확인

    무엇을 하는가와 얼마나 잘 하는가를 구분하고, 수정 후 재테스트를 확인 테스트와 회귀 테스트로 나눠 설계한다.

  5. 입문약 18분

    완전한 테스트는 불가능하다 — 한계와 기대치 조정

    왜 모든 입력 조합을 테스트할 수 없는지 숫자로 확인하고, 버그 없음을 보장해달라는 요청에 QA가 어떻게 답해야 하는지 연습한다.

  6. 입문약 20분

    QA·QC·테스터 — 역할·조직 구조·태도·커리어 전망

    QA와 QC의 이론적 차이, 실제 채용공고에서 쓰이는 방식, 조직 구조에 따른 역할 차이, 그리고 QA 커리어가 어떻게 뻗어나가는지 정리한다.