핵심 인사이트
- 본질: QA (Quality Assurance, 품질 보증)는 올바른 프로세스를 따르는지 확인하는 예방 중심 활동이고, QC (Quality Control, 품질 통제)는 제품/산출물에서 결함을 찾아내는 발견 중심 활동이다—QA는 "어떻게 만드는가"를, QC는 "만든 것이 맞는가"를 검증한다.
- 가치: 품질 비용(CoQ, Cost of Quality) 관점에서 QA(예방 비용)에 1원 투자하면 QC(실패 비용)를 훨씬 줄일 수 있다—결함을 예방하는 것이 발견·수정하는 것보다 항상 저렴하다.
- 판단 포인트: QA는 프로세스 감사, QC는 제품 검사—두 활동은 상호 보완적이므로 어느 하나만 하면 품질 목표를 달성하기 어렵다.
Ⅰ. 개요 및 필요성
QA (Quality Assurance, 품질 보증)와 QC (Quality Control, 품질 통제)는 SW 품질 관리의 양대 축이다. 두 개념은 자주 혼동되지만, 관점과 활동 방식이 근본적으로 다르다.
QA는 "품질을 만드는 프로세스가 올바른가"에 초점을 맞춘다. 코딩 표준 준수, 코드 리뷰 절차 이행, 테스트 계획 수립 등 올바른 방법으로 개발하고 있는지 확인한다. QA는 결함이 발생하기 전에 예방하는 활동이다.
QC는 "만들어진 제품이 요구사항을 충족하는가"에 초점을 맞춘다. 단위 테스트, 통합 테스트, 검수(Inspection) 등 실제 산출물을 검사해 결함을 발견한다. QC는 결함이 발생한 후에 발견하는 활동이다.
ISO 9000 시리즈는 QMS (Quality Management System, 품질 경영 시스템)의 국제 표준으로, QA 활동의 프레임워크를 제공한다. SW 제품 품질은 ISO/IEC 25010이 정의한 8대 품질 특성으로 측정한다.
📢 섹션 요약 비유: QA는 음식점의 주방 위생 점검이고, QC는 음식이 나오기 전 맛을 보는 것이다. 위생 점검(QA)이 잘 되면 맛 검사(QC)에서 불합격이 줄어들지만, 둘 다 필요하다.
Ⅱ. 아키텍처 및 핵심 원리
QA vs QC 핵심 비교
┌──────────────────────────────────────────────────────────────┐
│ QA vs QC 비교 │
├─────────────────┬──────────────┬───────────────────────────┤
│ 구분 │ QA │ QC │
├─────────────────┼──────────────┼───────────────────────────┤
│ 초점 │ 프로세스 │ 제품/산출물 │
│ 목적 │ 예방 │ 발견 │
│ 시점 │ 사전 │ 사후 │
│ 담당 │ 전체 조직 │ 프로젝트 팀 │
│ 활동 예 │ 프로세스 감사 │ 테스트, 검수 │
│ │ 표준 준수 확인│ 인스펙션, 리뷰 │
│ 책임 │ 품질 시스템 │ 특정 인도물 │
│ PMBOK 영역 │ 품질 보증 수행│ 품질 통제 수행 │
└─────────────────┴──────────────┴───────────────────────────┘
품질 비용 (CoQ, Cost of Quality)
┌─────────────────────────────────────────────────────────────┐
│ CoQ (Cost of Quality) = 적합 비용 + 비적합 비용 │
├─────────────────────────────────┬───────────────────────────┤
│ 적합 비용 (Cost of Conformance)│ 비적합 비용 (Non-conform.) │
├───────────────┬─────────────────┼───────────────────────────┤
│ 예방 비용 │ 평가 비용 │ 내부 실패 비용 │
│ (Prevention) │ (Appraisal) │ (Internal Failure) │
├───────────────┼─────────────────┼───────────────────────────┤
│ 품질 교육 │ 테스팅 │ 재작업 (Rework) │
│ 프로세스 설계 │ 검수 (Inspect.) │ 결함 수정 │
│ 코딩 표준 │ 코드 리뷰 │ 폐기물 │
│ QA 활동 │ QC 활동 │ 외부 실패 비용 │
│ │ │ (External Failure) │
│ │ │ 보증 수리 │
│ │ │ 고객 불만 │
└───────────────┴─────────────────┴───────────────────────────┘
최적 투자: 예방 비용 증가 → 실패 비용 감소 → 총 CoQ 최소화
ISO/IEC 25010 SW 품질 특성
┌──────────────────────────────────────────────────────────────┐
│ ISO/IEC 25010 - 소프트웨어 품질 특성 (8가지) │
├──────────────────────────────────────────────────────────────┤
│ 1. 기능 적합성 (Functional Suitability) │
│ - 완전성, 정확성, 적절성 │
│ 2. 성능 효율성 (Performance Efficiency) │
│ - 시간 행동, 자원 활용, 용량 │
│ 3. 호환성 (Compatibility) │
│ - 공존성, 상호운용성 │
│ 4. 사용성 (Usability) │
│ - 인식가능성, 학습가능성, 운용가능성 │
│ 5. 신뢰성 (Reliability) │
│ - 성숙도, 가용성, 결함 허용성, 복구성 │
│ 6. 보안성 (Security) │
│ - 기밀성, 무결성, 부인방지, 책임추적성 │
│ 7. 유지보수성 (Maintainability) │
│ - 모듈성, 재사용성, 분석가능성, 수정가능성 │
│ 8. 이식성 (Portability) │
│ - 적응가능성, 설치가능성, 대체가능성 │
└──────────────────────────────────────────────────────────────┘
품질 관리 도구
| 도구 | 용도 | QA/QC |
|---|---|---|
| 파레토 차트 (Pareto Chart) | 80/20 법칙으로 주요 결함 유형 식별 | QC |
| 피시본 다이어그램 (Fishbone/Ishikawa) | 결함 근본 원인 분석 | QC |
| 체크시트 (Check Sheet) | 결함 빈도 기록 | QC |
| 관리도 (Control Chart) | 프로세스 안정성 모니터링 | QA/QC |
| 히스토그램 | 분포 분석 | QC |
| 산점도 (Scatter Diagram) | 두 변수 상관관계 | QA/QC |
| 프로세스 감사 (Process Audit) | 절차 준수 여부 확인 | QA |
📢 섹션 요약 비유: CoQ는 자동차 유지보수와 같다. 정기 점검(예방 비용/QA)을 소홀히 하면 고장(내부 실패)이 잦아지고, 최악에는 사고(외부 실패)가 난다—예방에 1만원 쓰면 수리에 10만원을 절약한다.
Ⅲ. 비교 및 연결
결함 발견 시점과 수정 비용
결함 발견이 늦을수록 수정 비용 기하급수적 증가:
요구사항 단계에서 발견: 비용 × 1
설계 단계에서 발견: 비용 × 10
개발 단계에서 발견: 비용 × 100
테스트 단계에서 발견: 비용 × 100~1,000
운영 배포 후 발견: 비용 × 1,000~10,000
→ Shift Left Testing: QC를 개발 초기로 이동
→ QA로 요구사항·설계 단계 품질 확보가 가장 경제적
SW 품질 인증 체계
| 기준 | 내용 |
|---|---|
| ISO 9001 | QMS (품질 경영 시스템) 인증, 산업 일반 |
| ISO/IEC 25010 | SW 제품 품질 특성 정의 |
| CMMI (Capability Maturity Model Integration) | SW 프로세스 성숙도 (1~5 레벨) |
| ISO/IEC 15504 (SPICE) | 프로세스 평가 |
📢 섹션 요약 비유: Shift Left Testing은 의사의 조기 검진과 같다. 병이 중증이 되기 전(요구사항·설계 단계)에 발견하면 치료(수정)가 훨씬 쉽고 저렴하다—말기(운영 배포 후)에 발견하면 비용과 리스크가 모두 폭증한다.
Ⅳ. 실무 적용 및 기술사 판단
QA 활동 vs QC 활동 구분
| QA 활동 | QC 활동 |
|---|---|
| 코딩 표준 수립 및 교육 | 단위 테스트 수행 |
| 리뷰 프로세스 설계 | 통합 테스트 수행 |
| 형상 관리 절차 수립 | 인스펙션 (Inspection) |
| 테스트 전략 수립 | 사용자 인수 테스트 (UAT) |
| 프로세스 감사 | 결함 추적 |
| 메트릭 수집 체계 구축 | 결함 밀도 측정 |
| CMMI 평가 준비 | 코드 커버리지 측정 |
기술사 시험 판단 포인트
-
QA ≠ QC: 시험에서 "QA 활동"이라고 할 때 "테스트 수행"을 답으로 쓰면 오답—테스트는 QC.
-
CoQ 최적화: 예방 비용과 평가 비용에 적정 수준 투자 → 실패 비용을 최소화 → 총 CoQ 최소화.
-
ISO/IEC 25010 8대 특성: 기능 적합성·성능 효율성·호환성·사용성·신뢰성·보안성·유지보수성·이식성. 이전 ISO/IEC 9126(6대 특성)에서 확장됨.
-
PDCA와 품질: Plan(QA 계획)-Do(QC 실행)-Check(품질 지표 측정)-Act(개선)의 사이클.
피시본 다이어그램 (Fishbone/Ishikawa Diagram)
결함 근본 원인 분석 도구:
원인 결과
┌─────────────────────────────────────────────┐
│ 사람 ───────────────────────────────▶ │
│ 프로세스──────────────────────────▶ 결함 │
│ 도구/환경────────────────────────▶ (뼈대) │
│ 재료 ──────────────────────────▶ │
└─────────────────────────────────────────────┘
6M: Man, Machine, Method, Material, Measurement, Mother Nature
SW에서: People, Process, Technology, Environment, Data, Measurement
📢 섹션 요약 비유: 기술사 시험에서 QA/QC 구분은 마치 의사의 진료와 예방 의학의 차이를 구분하는 것이다—"어떻게 건강을 유지하나(QA/예방)"와 "이미 아픈 사람을 어떻게 치료하나(QC/발견)"는 다른 활동이다.
Ⅴ. 기대효과 및 결론
QA와 QC를 균형 있게 적용하면:
- 결함 예방 우선: QA 강화로 결함 발생 자체를 줄여 QC에서의 재작업 비용을 감소시킨다.
- 품질 문화 정착: QA는 조직 전체의 품질 의식을 높이고, QC는 구체적 결함 데이터를 제공한다.
- CoQ 최적화: 예방·평가 비용의 적정 투자로 내부·외부 실패 비용을 최소화한다.
- ISO 인증 기반: ISO 9001, CMMI 인증의 근거가 되는 체계적 품질 관리를 실현한다.
궁극적으로 SW 품질은 "검사로 확보하는 것(QC)"이 아니라 "설계하여 만드는 것(QA)"이라는 원칙—W. Edwards Deming의 "품질은 검사로 만들 수 없다"—을 실천해야 한다.
📢 섹션 요약 비유: QA+QC 균형은 요리와 시식의 조화와 같다. 레시피와 위생(QA)이 좋아야 맛있는 음식이 나오지만, 맛 검사(QC)도 해야 실수를 잡을 수 있다—레시피만 완벽해도 요리사 실수가 있고, 맛만 보면 너무 늦게 문제를 발견한다.
📌 관련 개념 맵
| 개념 | 설명 | 연관 키워드 |
|---|---|---|
| QA (Quality Assurance, 품질 보증) | 프로세스 중심, 예방적, 조직 전체 | CMMI, ISO 9001 |
| QC (Quality Control, 품질 통제) | 제품 중심, 발견적, 검사 | 테스팅, 인스펙션 |
| CoQ (Cost of Quality, 품질 비용) | 예방+평가+실패 비용의 합 | 최적화 |
| ISO/IEC 25010 | SW 품질 8대 특성 표준 | 품질 특성 |
| 파레토 차트 (Pareto Chart) | 80/20 법칙 결함 분석 | QC 도구 |
| 피시본 다이어그램 (Fishbone) | 결함 근본 원인 분석 | Ishikawa |
| Shift Left Testing | 테스트를 개발 초기로 이동 | 조기 결함 발견 |
| 관리도 (Control Chart) | 프로세스 안정성 통계 모니터링 | 7대 품질 도구 |
👶 어린이를 위한 3줄 비유 설명
- QA는 요리하기 전 손 씻기와 위생 점검이에요 — 나쁜 것이 들어가지 않도록 미리 예방하는 거예요.
- QC는 음식이 완성된 후 맛보기예요 — 이상이 있는지 직접 확인하는 거예요.
- QA를 잘 하면 QC에서 문제가 줄어드니까, 둘 다 필요하지만 QA에 더 많이 투자하는 것이 결국 더 저렴해요.