시스템 테스트: Difference between revisions
From IT Wiki
No edit summary |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
[[분류:소프트웨어 공학]] | [[분류:소프트웨어 공학]] | ||
* 상위 문서: [[소프트웨어 테스트]] | * 상위 문서: [[소프트웨어 테스트]] | ||
;System Test | |||
;개발 프로젝트 범위에서 정의된 전체 시스템 또는 제품의 동작에 대해 수행하는 [[소프트웨어 테스트]] | |||
* 단위 테스트, 통합 테스트 등에서 발견하지 못한 시스템 전반의 구조적 제약을 찾는다. | |||
* 특정 환경에서 발생할 수 있는 '환경특성 장애(Environment-specific Failure)'을 찾는다. | |||
== 특징 == | |||
* 기능 및 비기능 요구사항을 모두 검증한다. | |||
* 요구사항([[RFP]], [[SRS]])을 기반으로 테스트한다. | |||
* 독립적인 QA 조직이 수행하는 것이 권장된다. | |||
** 실무적으로 SI 업체의 테스트 결과를 기반으로, 발주자 측에서 한번 더 테스트한다. | |||
** 출시 여부를 결정하는 '검수' 테스트 형태로 이루어지기도 하며, 이 경우 QA 조직의 독립성이 보장되어야 한다. | |||
== 종류 == | == 종류 == | ||
=== 기능 요구사항 === | |||
* 주로 기능 요구사항을 기준으로 블랙박스 테스트를 수행한다. | |||
* 결정 테이블(Decision table)이나 [[요구사항 추적성 매트릭스|요구사항 추적표(Requirement Traceability Matrix)]]을 이용할 수 있다. | |||
=== 비기능 요구사항 === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! 종류 !! 내용 !! 예시 | ! 종류 !! 내용 !! 예시 | ||
|- | |- | ||
| 회복 테스트 | | [[회복 테스트]] | ||
(Recovery Test) | (Recovery Test) | ||
|| | || | ||
유사시 시스템 자동으로 재초기화, 데이터 회복 등을 수행하는지 확인 || Power Off | 유사시 시스템 자동으로 재초기화, 데이터 회복 등을 수행하는지 확인 | ||
|| Power Off | |||
|- | |- | ||
| 보안 테스트 | | [[보안 테스트]] | ||
(Security Test) | (Security Test) | ||
|| | || | ||
불법적인 침투로부터 기밀성, 무결성, 가용성을 보호하는지 확인 || SQL Injection, CSRF | 불법적인 침투로부터 기밀성, 무결성, 가용성을 보호하는지 확인 | ||
|| SQL Injection, CSRF | |||
|- | |- | ||
| 강도 테스트 | | [[강도 테스트]] | ||
(Stress Test) | (Stress Test) | ||
|| | || | ||
비정상적인 값, 양, 빈도 등의 스트레스에 대한 정상 동작 확인 || Overflow, 부하 테스트 | 비정상적인 값, 양, 빈도 등의 스트레스에 대한 정상 동작 확인 | ||
|| Overflow, 부하 테스트 | |||
|- | |- | ||
| 민감도 테스트 | | [[민감도 테스트]] | ||
(Sensitivity Test) | (Sensitivity Test) | ||
|| | || | ||
부적절한 결과를 일으키는 데이터 조합을 검출 || Data Type, 경계값 검검 | 부적절한 결과를 일으키는 데이터 조합을 검출 | ||
|| Data Type, 경계값 검검 | |||
|- | |- | ||
| 성능 테스트 | | [[성능 테스트]] | ||
(Performance Test) | (Performance Test) | ||
|| | || | ||
시스템 효율성 진단. 자원 이용, 처리시간 등 성능 확인 || Throughput, TPS | 시스템 효율성 진단. 자원 이용, 처리시간 등 성능 확인 | ||
|| Throughput, TPS | |||
|} | |} | ||
== 테스트의 기준 == | |||
;상위 레벨의 테스트, 개발 산출물을 근간으로 한다. | |||
* 리스크 분석서 | |||
* 요구사항 명세서 | |||
* 비즈니스 프로세스 | |||
* 유즈 케이스 | |||
* 기타 비즈니스 레벨의 시스템 동작 명세 | |||
* OS 미 시스템 리소스와의 상호작용 명세 | |||
== 참고 문헌 == | |||
* 개발자도 알아야할 소프트웨어 테스팅 실무, STA |
Latest revision as of 22:42, 10 March 2020
- 상위 문서: 소프트웨어 테스트
- System Test
- 개발 프로젝트 범위에서 정의된 전체 시스템 또는 제품의 동작에 대해 수행하는 소프트웨어 테스트
- 단위 테스트, 통합 테스트 등에서 발견하지 못한 시스템 전반의 구조적 제약을 찾는다.
- 특정 환경에서 발생할 수 있는 '환경특성 장애(Environment-specific Failure)'을 찾는다.
특징[edit | edit source]
- 기능 및 비기능 요구사항을 모두 검증한다.
- 요구사항(RFP, SRS)을 기반으로 테스트한다.
- 독립적인 QA 조직이 수행하는 것이 권장된다.
- 실무적으로 SI 업체의 테스트 결과를 기반으로, 발주자 측에서 한번 더 테스트한다.
- 출시 여부를 결정하는 '검수' 테스트 형태로 이루어지기도 하며, 이 경우 QA 조직의 독립성이 보장되어야 한다.
종류[edit | edit source]
기능 요구사항[edit | edit source]
- 주로 기능 요구사항을 기준으로 블랙박스 테스트를 수행한다.
- 결정 테이블(Decision table)이나 요구사항 추적표(Requirement Traceability Matrix)을 이용할 수 있다.
비기능 요구사항[edit | edit source]
종류 | 내용 | 예시 |
---|---|---|
회복 테스트
(Recovery Test) |
유사시 시스템 자동으로 재초기화, 데이터 회복 등을 수행하는지 확인 |
Power Off |
보안 테스트
(Security Test) |
불법적인 침투로부터 기밀성, 무결성, 가용성을 보호하는지 확인 |
SQL Injection, CSRF |
강도 테스트
(Stress Test) |
비정상적인 값, 양, 빈도 등의 스트레스에 대한 정상 동작 확인 |
Overflow, 부하 테스트 |
민감도 테스트
(Sensitivity Test) |
부적절한 결과를 일으키는 데이터 조합을 검출 |
Data Type, 경계값 검검 |
성능 테스트
(Performance Test) |
시스템 효율성 진단. 자원 이용, 처리시간 등 성능 확인 |
Throughput, TPS |
테스트의 기준[edit | edit source]
- 상위 레벨의 테스트, 개발 산출물을 근간으로 한다.
- 리스크 분석서
- 요구사항 명세서
- 비즈니스 프로세스
- 유즈 케이스
- 기타 비즈니스 레벨의 시스템 동작 명세
- OS 미 시스템 리소스와의 상호작용 명세
참고 문헌[edit | edit source]
- 개발자도 알아야할 소프트웨어 테스팅 실무, STA