정의
- 숨어있는 결함을 찾기 위해 소프트웨어를 작동시키는 행위와 절차이다.
- 오류를 발견하기 위한 목적으로 프로그램을 실행하여 품질을 평가하는 과정이다.
- 개발된 소프트웨어의 결함과 문제를 식별하고 품질을 평가하며 품질을 개선하기 위한 일련의 활동이다.
- 테스트 케이스에 따라 SW를 동적으로 실행시켜 예상결과치를 비교 분석한다.
- SW의 동작과 성능, 안정성이 요구되는 수준을 만족하는지 확인하기 위한 결함을 발견하는 메커니즘이다.
목적
- 프로그램의 잠재된 오류의 발견
- 기술적인 기능 및 성능을 확인
- 사용자 요구 만족도 향상
- 제품 신뢰도 향상
종류
- 단위 테스트 (Unit Test) - 인터페이스, 자료구조, 수행경로
- 통합 테스트 (Integration Test) - 하향식, 상향식, 백본
- 시스템 테스트 (System Test) - 보안, 민감도, 성능
- 인수 테스트 (Acceptance Test) - 알파, 베타
- 설치 테스트 (install Test) - 하드웨어 호환성, 파일 시스템 구성, 다른 소프트웨어와의 연계
접근방법
1. 정적 테스트
- 동료검토
- 워크스루
- 정형 기술 검토
2. 동적 테스트
- 소스코드 열람에 따른 구분 -블랙박스, 화이트박스 테스트
- 설계기법에 따른 분류 -명세, 구조, 경험 기반 테스트