정보처리기사/필기

[2과목-4장-050] 애플리케이션 테스트의 분류

여니두 2020. 4. 23.

1. 프로그램 실행 여부에 따른 테스트

1) 정적 테스트

- 명세서나 소스 코드를 대상으로 분석

- 개발 초기에 결함 발견 가능 > 개발 비용을 낮추는데 도움

- 종류: 워크스루, 인스펙션, 코드 검사 등

 

2) 동적 테스트

- 프로그램 실행하여 오류 찾는 테스트. 개발 모든 단계에서 테스트 수행 가능

- 종류: 블랙박스 테스트, 화이트박스 테스트

 

2. 테스트 기반(Test Bases)에 따른 테스트

: 무엇을 기반으로 수행하느냐에 따라 다음과 같이 나뉨

1) 명세 기반 테스트

- 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인

- 종류: 동등 분할, 경계 값 분석 등

>> 블랙박스 테스트

 

2) 구조 기반 테스트

- 내부의 논리 흐름에 따라 테스트 케이스를 작성, 확인

- 종류: 구문 기반, 결정 기반, 조건 기반, 결정 기반 등

>> 화이트박스 테스트

 

3) 경험 기반 테스트

- 유사 SW나 기술 등에 대한 테스터의 경험을 기반으로 수행

- 사용자 요구사항에 대한 명세가 불충분 or 테스트 시간에 제약이 있는 경우 효과적!

- 종류: 에러 추정, 체크 리스트, 탐색적 테스팅

>> 블랙박스 테스트

 

3. 시각에 따른 테스트

: 누구를 기준으로 하느냐에 따라

1) 검증(Verification) 테스트

: 개발자의 시각. 제품이 명세서대로 완성됐는지 테스트

2) 확인(Validation) 테스트

: 사용자 시각. 사용자가 요구한대로 제품이 완성됐는지, 정상적으로 동작하는지 테스트

 

4. 목적에 따른 테스트

: 무엇을 목적으로 테스트를 진행하느냐

1) 회복(Recovery) 테스트: 시스템에 여러 결함을 주어 실패하도록 한 후 올바르게 복구되는지 확인

2) 안전(Security) 테스트: 불법적 침입으로부터 시스템 보호 가능한지 확인

3) 강도(Stress) 테스트: 과도한 정보량이나 빈도 등을 부과하여 과부하 시에도 SW가 정상적으로 실행되는지 확인

4) 성능(Performance) 테스트: 실시간 성능 or 전체적 효율성을 진단. SW 응답 시간, 처리량 등을 테스트

5) 구조(Structure) 테스트: SW 내부 논리적 경로, 소스 코드의 복잡도 등을 평가

6) 회귀(Regression) 테스트: 변경 or 수정된 코드에 새 결함이 없음을 확인하는 테스트

7) 병행(Parallel) 테스트: 변경된 SW와 기존 SW에 동일 데이터를 입력하여 결과를 비교

댓글