Notice
Recent Posts
Recent Comments
코드 위의 하루 (A Day on the Code)
Chapter 6 정리 - 테스트와 디버깅, 소프트웨어 품질의 완성 본문
📌 과목 개요
- 과목명: 소프트웨어공학
- 교재: 『쉽게 배우는 소프트웨어공학 2판』 - 김치수 저
- 중간고사 범위: Chapter 1 ~ Chapter 6
- 시험 스타일: 테스트 종류 구분, 검증 vs 확인 설명, 디버깅과의 차이 분석
📚 Chapter 6 핵심 개념 요약
1. 소프트웨어 테스트란?
개발된 소프트웨어가 정상적으로 동작하는지 확인하고,
오류나 결함을 찾아내는 과정
- 품질 향상의 핵심 활동
- 잘못된 동작을 찾는 것이 주 목적 (오류가 없음을 증명하려는 게 아님!)
2. 테스트의 목적
- 소프트웨어의 기능이 요구사항을 만족하는지 확인
- 오류를 조기에 발견하고 수정
- 제품의 신뢰성, 안정성 확보
3. 테스트의 종류 (범위 기준)
🔹 단위 테스트(Unit Test)
- 개별 모듈/함수 단위 테스트
- 보통 개발자가 직접 작성
🔹 통합 테스트(Integration Test)
- 여러 모듈을 연결해 모듈 간 상호작용 테스트
- 인터페이스 오류 발견
🔹 시스템 테스트(System Test)
- 전체 시스템이 요구사항대로 동작하는지 확인
- 기능뿐만 아니라 성능, 보안 등도 평가
🔹 인수 테스트(Acceptance Test)
- 고객이나 사용자 입장에서 평가
- 최종 사용자의 요구사항 충족 여부 판단
4. 검증(Verification) vs 확인(Validation)

✔️ 검증: 제품이 요구사항에 맞게 개발되고 있는지
✔️ 확인: 제품이 실제 사용자 요구를 충족하는지
5. 디버깅(Debugging)
테스트 결과 발견된 오류를 추적하고 수정하는 과정
- 테스트와는 다름!
- 테스트는 오류 발견, 디버깅은 오류 수정
💡 자주 나오는 시험 유형
- 테스트 종류 나열 및 설명
- 검증 vs 확인의 차이 설명
- 디버깅의 정의 또는 테스트와의 차이
- 인수 테스트가 어떤 관점인지 서술하는 문제
🎯 교수님이 강조한 포인트
- “검증과 확인은 시험 단골 개념”
- 단위 → 통합 → 시스템 → 인수 순서를 기억하라
- 테스트는 존재하는 오류를 찾아내는 것, 없는 걸 입증하는 게 아님!
📌 내 오답노트 & 복습 포인트
- 검증/확인 순서를 반대로 외움 ❌
- 통합 테스트와 시스템 테스트의 차이를 헷갈림
- 디버깅을 테스트랑 같은 의미로 오해함
📝 마무리 요약
- 테스트는 오류를 찾아내고 품질을 높이기 위한 핵심 활동
- 검증 vs 확인은 언제 무엇을 확인하는지 시점 중심으로 구분
- 디버깅은 테스트 결과를 바탕으로 실제 오류를 수정하는 과정
'🍚전공이 밥 먹여준다믄 > 📕 소프트웨어공학' 카테고리의 다른 글
Chapter 08. 구현 (2) | 2025.05.15 |
---|---|
Chapter 07. 디자인 패턴 정리 (0) | 2025.05.15 |
Chapter 5 정리 - 형상관리와 변경관리의 모든 것 (0) | 2025.05.12 |
Chapter 4 정리 - 프로젝트 관리, WBS, 간트 차트 쉽게 정리하기 (0) | 2025.05.12 |
Chapter 3 정리 - 요구사항과 유스케이스 다이어그램 쉽게 정리하기 (0) | 2025.05.12 |