ISO 29119 완벽 가이드: KSTQB 자격증부터 실무 적용까지 한 번에 끝내기
도입: 왜 지금, 우리는 ISO 29119 표준에 주목해야 할까?
안녕하세요, 소프트웨어 테스팅 전문가 여러분! 고객에게 최고 품질의 테스트 서비스를 제공하기 위해 우리는 끊임없이 노력하고 있습니다.
그 노력의 중심에 바로 국제 표준, ISO/IEC/IEEE 29119가 있습니다.
이 표준은 단순히 딱딱한 규칙이 아니라, 우리의 테스트 업무를 더 체계적이고 효율적으로 만들어주는 강력한 프레임워크입니다.
이 글을 통해 여러분은 다음과 같은 전문성을 갖추게 될 것입니다.
- ISO 29119 표준 시리즈의 명확한 이해
- 표준 기반 테스트 계획, 관리, 문서화 및 설계 능력 향상
- 국제 표준에 기반한 테스팅 전문가로의 성장
자, 그럼 지금부터 소프트웨어 테스팅의 국제 표준 속으로 함께 떠나보겠습니다!

1장: 표준, 딱딱한 규칙이 아닌 성공을 위한 '가이드라인'

"표준은 '최고(Best)'가 아닌 '좋은(Good)' 프랙티스를 지향합니다."
흔히 '표준'이라고 하면 강제적인 규율을 떠올리지만, ISO는 표준을 '합의를 반영하는 지침 문서'라고 정의합니다.
즉, 법규가 아닌 권장 사항이라는 뜻이죠. 유모차 안전 표준을 예로 들어볼까요?
무조건 가장 안전하게만 만들면(Best) 가격이 너무 비싸집니다.
표준은 안전성과 비용 사이의 합리적인 균형점, 즉 '충분히 좋은(Good)' 방법을 제시합니다.
- 표준의 이점:
- 고객: 신뢰할 수 있는 품질과 일관성을 보장받습니다.
- 공급자: 품질 향상, 위험 감소, 시장 경쟁력 확보, 개발 효율성 증대를 이룰 수 있습니다.
- 주요 표준화 기구:
- ISO: 다양한 산업 분야의 국제 표준 개발
- IEC: 전기 기술 분야 국제 표준 담당
- IEEE: 전기, 전자, 컴퓨터 공학 기술 표준 개발
- ISO/IEC JTC1: ISO 29119와 같은 정보 통신 기술 표준을 개발하는 공동 위원회
2장: ISO/IEC/IEEE 29119 표준 파헤치기

이 표준 시리즈는 소프트웨어 테스팅의 모든 것을 담고 있습니다.
- Part 1: 개념 (General Concepts): 기본 원칙과 용어 정의
- Part 2: 테스트 프로세스 (Test Processes): 조직, 관리, 동적 테스트의 3계층 프로세스 모델 (핵심!)
- Part 3: 테스트 문서 (Test Documentation): 테스트 계획서, 보고서 등 문서 템플릿 정의
- Part 4: 테스트 기법 (Test Techniques): 명세, 구조, 경험 기반 테스트 설계 기법 소개
핵심 원칙: 리스크 기반 테스팅 (Risk-Based Testing)
모든 것을 테스트하는 것은 불가능합니다. 따라서 잠재적 문제의 발생 가능성과 영향(리스크)을 평가하여 테스트의 우선순위를 정하는 것이 이 표준의 핵심입니다.
이 접근법은 조직의 정책 수립부터 실제 테스트 케이스 설계까지 모든 계층에 적용됩니다.
또한, 표준은 일반적인(Generic) 프로세스 모델을 제공하므로, 각 조직과 프로젝트의 상황에 맞게 조정하고 구체화하는 인스턴스화(Instantiation) 과정이 필수적입니다.
3장: 조직의 테스트 역량 강화하기 (조직 차원의 테스팅)
개별 프로젝트를 넘어, 회사 전체의 테스트 품질을 일관성 있게 관리하는 단계입니다.
- 테스트 정책 (Test Policy): "우리 회사는 테스팅을 왜, 어떻게 할 것인가?"에 대한 최상위 목표와 원칙을 정의한 문서입니다. 테스팅의 목적, 범위, 주요 접근법, 역할과 책임을 명확히 합니다.
- 조직 테스트 프랙티스 (Organizational Test Practices): 테스트 정책을 실행하기 위한 구체적인 'How-to' 가이드입니다. 조직의 표준 테스트 프로세스, 권장 기법, 문서 템플릿, 결함 관리 절차 등 실무 지침을 상세히 담고 있습니다.
4장: 성공적인 테스트의 청사진 (테스트 전략과 계획)
프로젝트 수준에서 '무엇을, 왜, 어떻게, 언제, 누가' 테스트할지 정의하는 핵심 단계입니다.
- 정황 이해: 프로젝트 계획, 요구사항, 설계 문서 등 다양한 정보를 분석하여 테스트의 목표와 제약 조건을 파악합니다.
- 리스크 식별 및 분석:
- 제품 리스크: 소프트웨어 자체의 품질 문제 (결함, 성능 저하, 보안 취약점 등)
- 프로젝트 리스크: 프로젝트 진행을 방해하는 문제 (일정 지연, 자원 부족, 요구사항 변경 등)
- 각 리스크의 발생 가능성과 영향을 평가하여 리스크 노출 수준을 결정하고, 이를 리스크 관리대장에 기록합니다.
- 리스크 처리: 분석된 리스크에 대해 완화, 전가, 회피, 수용, 비상 계획 수립 등의 대응 전략을 결정합니다. (테스팅은 제품 리스크를 완화하는 대표적인 방법입니다.)
- 테스트 전략 설계: 리스크 분석 결과를 바탕으로 테스트 범위, 레벨, 유형, 접근법, 완료 기준 등을 정의합니다.
- 테스트 계획서 작성: 위의 모든 내용을 종합하여 공식적인 테스트 계획서를 작성합니다. 이 문서는 이해관계자와의 소통 도구이자 테스트 수행의 지침이 됩니다.
기억하세요! 테스트 계획은 한 번으로 끝나지 않습니다.
요구사항 변경, 새로운 리스크 발견 등 프로젝트 변화에 따라 지속적으로 검토하고 업데이트해야 합니다.
5장: 계획을 현실로, 목표를 향한 항해술 (테스트 모니터링 및 제어)
계획대로 테스트가 잘 진행되고 있는지 지속적으로 확인하고, 문제가 생기면 바로잡는 과정입니다.
- 모니터링 (Monitoring): 테스트 진행률, 커버리지, 결함 수 등 객관적인 테스트 측정치를 통해 "우리가 지금 어디에 있는가?"를 파악하는 활동입니다.
- 제어 (Control): 모니터링 결과 계획에서 벗어났을 때, "어떻게 목표 경로로 돌아갈 것인가?"를 결정하고 실행하는 조치 활동입니다.
이 과정에서 테스트 완료 조건(예: 요구사항 커버리지 100%, 심각 결함 없음)에 얼마나 도달했는지 계속 확인하며, 테스트 현황 보고서를 통해 이해관계자들과 진행 상황을 투명하게 공유합니다.
6장: 경험을 자산으로 만드는 마무리 (테스트 완료)
테스트 완료 조건을 충족했을 때, 활동을 공식적으로 종료하는 단계입니다.
- 주요 활동:
- 최종 결과 요약 및 완료 조건 충족 여부 평가
- 테스트 계획서, 로그 등 모든 산출물 정리 및 보관 (아카이빙)
- 테스트 환경 정리
- 교훈 학습 (Lessons Learned): 성공과 실패 사례를 분석하여 조직의 지식 자산으로 축적하고, 다음 프로젝트의 개선점으로 활용합니다.
- 최종 산출물: 테스트 완료 보고서를 작성하여 테스트 활동의 결과, 잔존 리스크, 교훈 등을 종합적으로 보고합니다.
7장: 실제 소프트웨어를 움직여라 (동적 테스팅)
코드를 실행하며 소프트웨어의 동작을 확인하는 핵심 실행 단계입니다.
- 테스트 설계 및 구현: 요구사항 등 테스트 베이시스를 분석하여 테스트 케이스(입력값, 예상 결과 등)와 테스트 절차(실행 순서)를 만듭니다. 이때 요구사항부터 테스트 케이스까지 연결 관계를 관리하는 추적성 확보가 매우 중요합니다.
- 테스트 환경 및 데이터 관리: 설계 단계에서 정의된 요구사항에 따라 실제 테스트 환경을 구축하고 데이터를 준비합니다.
- 테스트 실행: 준비된 환경에서 테스트 절차에 따라 테스트를 수행하고, 실제 결과를 테스트 실행 로그에 상세히 기록합니다.
- 테스트 인시던트 보고: 실제 결과와 기대 결과가 다를 경우, 인시던트 보고서를 작성하여 개발팀에 보고합니다. 결함이 수정되면 재테스팅을 통해 수정 여부를 확인하고 결과를 업데이트합니다.
8장: 스마트하게 테스트 케이스 만들기 (테스트 기법)

효과적이고 효율적인 테스트 케이스를 도출하는 체계적인 방법론입니다. (ISO 29119-4)
- 분류:
- 명세 기반 (블랙박스): 요구사항 명세 기반 (예: 동등 분할, 경계값 분석, 결정 테이블)
- 구조 기반 (화이트박스): 코드 내부 구조 기반 (예: 구문, 결정/분기 커버리지)
- 경험 기반: 테스터의 경험과 직관 활용 (예: 오류 추정, 탐색적 테스팅)
- 테스트 커버리지: "계획한 항목을 얼마나 테스트했는가?"를 측정하는 척도입니다. 각 기법은 고유한 커버리지 항목을 정의하며, 이를 통해 테스트의 충분성을 객관적으로 평가할 수 있습니다.
- 접근법:
- 일대일 접근법: 커버리지 항목 하나당 테스트 케이스 하나를 만듭니다. 원인 파악이 쉽지만 케이스 수가 많아집니다.
- 최소화 접근법: 최소한의 테스트 케이스로 여러 커버리지 항목을 동시에 테스트합니다. 효율적이지만 실패 시 원인 분석이 복잡할 수 있습니다.
9장: 우리 프로젝트에 딱 맞게 표준 적용하기 (테일러링 & 준수)
표준을 무조건 그대로 따르는 것이 항상 정답은 아닙니다.
- 완전 준수 (Full Conformance): 표준의 모든 요구사항을 그대로 따르는 것.
- 조정 준수 (Tailored Conformance): 프로젝트의 규모, 리스크 수준, 개발 방법론 등 특정 상황에 맞게 표준의 일부를 선택하거나 수정하여 적용하는 것.
현실적으로는 프로젝트 특성을 고려하여 합리적으로 테일러링하고, 그 근거를 명확히 하여 조정 준수하는 것이 가장 효과적인 접근 방식입니다.
마무리하며: 전문가로 나아가는 길
지금까지 ISO 29119 표준의 여정을 함께했습니다. 이 표준은 리스크 기반 접근, 체계적인 프로세스, 명확한 문서화를 통해 우리의 테스팅 역량을 한 단계 끌어올려 줄 것입니다. 오늘 배운 내용을 실무에 꾸준히 적용하며 국제적인 테스팅 전문가로 성장하시기를 응원합니다!
참고: 'ISO 29119 Certified Tester' 자격 시험
이 포스팅의 내용은 자격 시험 범위와 일치합니다. 시험은 객관식 40문항으로 1시간 동안 진행되며, 65% 이상 정답 시 합격입니다.
'국제 표준 > ISO 29119' 카테고리의 다른 글
| ISO/IEC/IEEE 29119 가 뭔지 알아보니.. (0) | 2025.02.26 |
|---|---|
| 테스트 문서 관리/계획/현황/완료/테스트케이스/보고서 템플릿 예시(문서첨부)와 작성 방법 알아보니.. (1) | 2024.09.14 |
| 경계값 분석(Boundary Value Analysis) 테스트 설계기법 살펴보니.. (0) | 2021.07.06 |
| 동등 분할(Equivalence Partitioning) 설계기법 살펴보니.. (0) | 2021.07.05 |
| ISO/IEC/IEEE29119-4 테스트 기법 살펴보니.. (0) | 2021.07.01 |