어플리케이션 테스트
- 어플리케이션에 잠재되어있는 결함을 찾아내는 행위, 절차
프로그램 실행 여부에 따른 테스트
정적 테스트
- 프로그램을 실행하지 않고, 명세서/소스 코드를 대상으로 분석하는 테스트
- SW 개발 초기에 결함발견 기능, 개발비용⬇️
- 워크스루, 코드검사, 인스펙션
동적 테스트
- 프로그램 실행하여 오류찾는 테스트
- SW 개발 모든 단계에서 수행 가능
- 블랙박스 테스트, 화이트박스 테스트
테스트 기반에 따른 테스트
명세 기반 테스트
- 사용자의 요구사항에 대한 명세를 전부 테스트케이스로 만들어 구현하고 있는지 확인
- 동등 분할, 경계값 분석
구조 기반 테스트
- SW 내부의 논리 흐름에 따라 테스트케이스를 작성하고 확인하는 테스트
- 구문 기반, 결정기반, 조건 기반
경험 기반 테스트
- 유사한 SW나 기술에 대한 테스터의 경험을 기반으로 수행하는 테스트
- 명세가 모호하거나 테스트 시간이 부족한 경우 효율적
- 에러 추정, 체크리스트, 탐색적 테스팅
시각에 따른 테스트
확인 Validation
- 사용자 입장에서 제품 결과 테스트
- 사용자가 요구한대로 완성이 되었느냐
검증 Verification
- 개발자 입장에서 제품 결과 테스트
- 명세서에 적힌대로완성이 되었느냐
목적에 따른 테스트
회복
시스템에 여러 결함을 주어 실패하도록 한 후 올바르게 복구되는지 확인
안전
시스템 내부의 보호 도구가 불법적인 침입으로부터 시스템을 보호할 수 있는지 확인
강도
시스템에 과도한 정보량/빈도 부과하여 과부하시 sw가 정상적으로 실행되는지 확인
성능
sw 실시간 성능, 전체적인 효율성 진단, 응답시간, 처리량 테스트
구조
sw 내부 논리 경로, 소스코드, 복잡도 등 평가
병행
변경 sw와 기존 sw에 동일한 데이터 입력하여 비교
회귀
sw변경/수정된 코드에 새로운 결함 x
개발 단계에 따른 테스트
sw 개발 단계에 따라 단위/통합/시스템/인수테스트로 분류
v모델 : 어플리케이션 테스트와 sw개발 단계를 연결한 것
시스템 테스트
- 개발된 SW가 해당 컴퓨터 시스템에서 완벽하게 수행되는가 점검
- 환경적 리스크를 최소화하기 위해 실제 사용환경과 유사하게 만든 테스트 환경에서 수행
- 기능적 요구사항 - 블랙박스 테스트
- 비기능적 요구사항 - 화이트박스 테스트
인수 테스트
- SW가 사용자의 요구사항을 충족시키는지 테스트
- 사용자가 직접테스트
| |
---|
사용자 | 사용자가 시스템사용의 적절성 여부 확인 |
운영상의 | 시스템 관리자가 수행, 백업, 정기점검 확인 |
계약 | 계약상의 인수/검수 조건 준수여부 확인 |
규정 | SW가 정부지침, 법규 등 규정에 맞게 개발되었는지 확인 |
알파테스트 | 개발자 앞에서 사용자가 테스트 (통제된환경) |
베타테스트 | 선정된 최종 사용자가 여러명의 사용자 앞에서 테스트 (통제X환경) |