[기술사토픽] 소프트웨어 테스팅 완벽 정리 - 한장정리
V&V 개념, 블랙박스·화이트박스 테스트 기법, V모델 4단계 테스트 레벨, 커버리지 기준까지 정보관리기술사·컴퓨터시스템응용기술사 빈출 주제를 완벽 정리합니다.
Ⅰ.소프트웨어 품질 검증 기술, 테스팅의 개요
개념: 소프트웨어 테스팅이란 소프트웨어의 결함을 발견하고 품질을 검증하기 위해 계획된 조건 하에서 시스템을 실행하는 과정입니다.
특징: (1) V&V(Verification & Validation)를 통한 이중 품질 검증 (2) 결함 발견이 늦을수록 수정 비용 기하급수적 증가 (3) 완전한 테스팅은 불가능 — 위험 기반 우선순위 필요
|
Verification
|
올바르게 만들고 있는가? — 명세 대비 소프트웨어 검증. 개발 과정 중 수행. |
| ↕ | |
|
Validation
|
올바른 것을 만들었는가? — 사용자 요구 대비 소프트웨어 검증. 개발 완료 후 수행. |
Verification = 과정 검증 (Are we building it right?) / Validation = 결과 검증 (Are we building the right thing?)
Ⅱ.V모델 & 테스트 레벨 4단계
V모델은 개발 단계와 테스트 단계를 대응시킨 모델로, 각 개발 산출물에 대응하는 테스트 레벨을 정의합니다.
| 개발 단계 | 대응 | 테스트 레벨 |
|---|---|---|
| 요구사항 분석 | ←→ | 인수 테스트 |
| 시스템 설계 | ←→ | 시스템 테스트 |
| 상세 설계 | ←→ | 통합 테스트 |
| 구현 (코딩) | ←→ | 단위 테스트 |
| 레벨 | 대상 | 수행 주체 | 목적 |
|---|---|---|---|
| 단위 테스트 | 개별 모듈·함수 | 개발자 | 모듈 내부 로직 검증 |
| 통합 테스트 | 모듈 간 인터페이스 | 개발팀 | 인터페이스 오류 검출 |
| 시스템 테스트 | 전체 시스템 | QA팀 | 기능·비기능 요구사항 검증 |
| 인수 테스트 | 실운영 환경 | 사용자·고객 | 사용자 요구 충족 확인 |
Ⅲ.블랙박스 vs 화이트박스 테스트 기법
테스트 기법은 내부 구조 노출 여부에 따라 블랙박스(명세 기반)와 화이트박스(구조 기반)로 나뉩니다.
| 구분 | 블랙박스 | 화이트박스 |
|---|---|---|
| 관점 | 기능·명세 기반 | 내부 구조·코드 기반 |
| 내부 구조 노출 | 불필요 | 필요 |
| 수행 주체 | 테스터 (비개발자 가능) | 개발자 |
| 테스트 시점 | 시스템·인수 테스트 | 단위·통합 테스트 |
| 장점 | 사용자 관점 검증 | 코드 논리 오류 발견 |
| 단점 | 내부 오류 발견 어려움 | 모든 경로 테스트 불가 |
커버리지 강도: 문장 < 분기 < 조건 < MC/DC < 경로 순으로 강해짐. MC/DC는 항공·안전 시스템 필수 기준!
Ⅳ.결론 및 전문가 의견
소프트웨어 테스팅은 단순한 버그 발견을 넘어 품질을 설계하는 과정입니다.
향후 AI 기반 자동 테스트 생성, Shift-Left Testing(개발 초기부터 테스트), 카오스 엔지니어링으로 발전하며 지속적 품질 보증의 핵심 역할을 담당합니다.
"테스팅은 결함의 존재를 보여줄 수 있지만, 결함의 부재를 증명할 수는 없다." — Dijkstra
블로그: 기술사 학습노트 · imt-log.tistory.com
'소프트웨어공학' 카테고리의 다른 글
| 요구공학 요구사항 분석과 명세 정리 (0) | 2026.03.19 |
|---|---|
| DevOps CI/CD 형상관리 개념 정리 (0) | 2026.03.19 |
| SOLID 원칙 객체지향 설계 패턴 정리 (0) | 2026.03.18 |
| 애자일 스크럼 개념과 실무 적용 정리 (0) | 2026.03.18 |
| SDLC 소프트웨어 개발 생명주기 총정리 (0) | 2026.03.18 |