소프트웨어 테스트
IT 위키
- Software Test
개요[편집 | 원본 편집]
정의[편집 | 원본 편집]
- 노출되지 않은 숨어있는 결함(Fault)을 찾기 위해 소프트웨어를 작동시키는 일련의 행위와 절차
- 오류 발견을 목적으로 프로그램을 실행하여 품질을 평가하는 과정
- 개발된 소프트웨어의 결함과 문제를 식별하고 품질을 평가하며 품질을 개선하기 위한 일련의 활동
- 일반적으로 테스트 케이스에 따라 SW를 동적으로 실행시켜 예상결과치와 비교 분석
- SW의 동작과 성능, 안정성이 요구되는 수준을 만족하는지 확인하기 위한 결함을 발견하는 메커니즘
- 시스템이 정해진 요구를 만족하는지, 예상과 실제 결과가 어떤 차이를 보이는지 수동 또는 자동 방법을 동원하여 검사하고 평가하는 일련의 과정 - IEEE, 1993
목적[편집 | 원본 편집]
- 프로그램의 잠재된 오류의 발견
- 기술적인 기능 및 성능의 확인
- 사용자 요구 만족도 향상
- 제품 신뢰도 향상
테스트의 일반적인 원리[편집 | 원본 편집]
원리 | 내용 | 원인 |
---|---|---|
결함 발견 |
|
|
불완전성 |
|
|
정황 의존성 |
|
|
초기 집중
(요르돈 법칙) |
|
|
결함 집중 |
|
|
살충제 페러독스 |
|
|
오류-부재 궤변 |
|
|
참조 모델[편집 | 원본 편집]
테스트 종류[편집 | 원본 편집]
단계별 구분[편집 | 원본 편집]
- 소프트웨어 개발 생명주기에 따라 대응되는 테스트를 표현한 다이어그램
테스트 | 세부 내용 |
---|---|
단위 테스트
(Unit Test) |
|
통합 테스트
(Integration Test) |
|
시스템 테스트
(System Test) |
|
인수 테스트
(Acceptance Test) |
|
설치 테스트
(Install Test) |
|
접근방법에 따른 구분[편집 | 원본 편집]
정적 테스트[편집 | 원본 편집]
- 동료 검토
- 워크스루
- 정형 기술 검토
동적 테스트[편집 | 원본 편집]
- 소스 코드 열람에 따른 구분
- 설계 기법에 따른 분류
계획 정도에 따른 분류[편집 | 원본 편집]
요약[편집 | 원본 편집]
단위 테스트- 정적/동적 테스트
통합 테스트- 상향식/하향식/백본/빅뱅 테스트
시스템 테스트 - 기능/비기능 테스트
인수 테스트 - 알파/베타 테스트