[ 소프트웨어 테스트]
- 프로그램의 오류를 발견하고 결함을 제거함으로써 프로그램의 품질을 높이는 활동
[완벽한 소프트웨어 테스트가 불가능한 이유]
- 무한 입력값, 무한 시간, 코드 내 무한 경로 등을 모두 고려해 테스트할 수 없기 때문이다.
[ 품질 보증 vs 테스트 vs V&V ]

V&V?
Verification(검증)과 Validation(확인)의 약어로, 소프트웨어 품질 보증을 위한 핵심 개념이다.
검증은 소프트웨어 개발 과정에서 수행한 활동의 적합성 검사에 초점을 두며 확인은 결과물의 적합성에 초점을 둔다.
검증 - 요구사항 명세서가 구조 설계 및 상세 설계의 결과물에 적절하게 반영되었는지를 조사하는 추적성 확인
확인 - 동작하는 소프트웨어가 주어진 요구사항을 충족하는지 확인하는 것
[ 테스팅 vs 디버깅 ]
- 테스팅
- 알려지지 않은 결함을 발견하는 것
- 실제 동작과 요구사항과의 차이를 확인한다.
- 디버깅
- 이미 알고 있는 오류를 수정하는 것
- 주요 작업은 오류의 정확한 위치를 파악하고, 이를 적절히 수정하는 것
- 시스템 내부 관련자가 수행한다.
[ 테스트 커버리지 ]
- 테스트가 테스트 요구사항을 얼만큼 만족하는지 나타낸다.
- "테스팅 정도에 대한 양적 평가"를 결정한다.
- 이를 근거로 테스트를 얼마나 더 해야 할지 멈춰야 할지 결정할 수 있다.
[ 오류 vs 결함 vs 장애 ]
- 장애
- 요구사항과 다르게 동작하는 것
- 결함
- 소프트웨어 내에 장애를 유발할 수 있는 문제
- 결함때문에 장애가 발생하지만, 결함이 있다고 해서 반드시 장애가 발생하는 것은 아니다.
- 오류
- 결함이 생기게 한 개발자의 행위
- ex) 사용자의 요구사항을 잘못 파악
- ex) 실수, 오타, 프로그램 명령어를 잘못 이해해서 코딩하는 경우
[ 프로그램 결함 분포 ]
- 소프트웨어 테스트에서 결함은 프로그램의 일부 모듈에 집중되어 나타난다.
[ 소프트웨어 테스팅 활동 ]
- 정해진 요구사항을 만족하는지 확인하고, 주어진 표준 등을 준수하는지 검증하는 활동이다.
[ 발견된 결함의 수정 비용이 가장 큰 소프트웨어 개발 단계는? ]
- 운영 및 유지보수
'CSTS' 카테고리의 다른 글
| [CSTS] 제 2장 테스트 분류와 테스팅 방법 (0) | 2023.11.09 |
|---|