자격증 공부
[정보처리기능사-실기]03. 애플리케이션 테스트 수행 (테스트 / 프로젝트 수행 단계에 따른 테스트의 분류)
s._.young01
2023. 3. 5. 15:44
728x90
반응형
1. 테스트
1) 테스트
- 노출되지 않는 숨어있는 결함을 찾아내는 활동
- 테스트 과정에 필요한 역할은 소프트웨어 아키텍트와 테스트 매니저이다.
- 소프트웨어 생명 주기의 V모델
※ 소프트웨어 아키텍쳐란?
- 소프트웨어의 골격이 되는 기본 구조
- 구성요소(Component) 간의 관계를 표현하는 시스템 구조 또는 구조체
2) 테스트의 7가지 원칙
① 테스트는 계획 단계부터 한다.
- 테스트는 가능한 초기부터 시작해야 함.
② 테스트는 결함을 밝히는 활동이다.
- 테스트의 목적은 결함의 제거가 아닌, 결함의 발견임.
③ 완전한 테스트는 불가능하다.
- 모든 것에 대한 테스팅은 자원의 한계로 불가능함.
④ 테스트는 상황에 따라 다르다.
- 동일한 테스트에 대한 비정상적인 결함 검수가 이루어질 수 있으므로, 다양한 방법으로 테스트하는 것이 필요함.
⑤ 결함 집중을 고려한다.
- 결함의 80%는 20% 코드에 집중되어 있음. (파레토 법칙)
⑥ 살충제 패러독스를 고려한다.
- 동일 테스트 케이스에 의한 반복적 테스트로 새로운 버그를 찾지 못하는 내성 현상을 의미함.
⑦ 오류 부재의 궤변을 고려한다.
- 개발한 제품은 요구 사항과 일치하고, 사용에 적합해야 함.
2. 프로젝트 수행 단계에 따른 테스트의 분류
1) 단위 테스트
- 작은 소프트웨어 단위(컴포넌트 또는 모듈)를 테스트하는 것, 개발자 자신에 의해 진행됨
- 방법
① 구조 기반
- 목적 : 업무 단위별 제어 흐름과 조건 결정에 따른 결과를 테스트
- 프로그램 내부 및 복잡도를 검증하는 화이트박스(White box) 테스트가 속함
※ 화이트박스 테스트란 ?
- 개발자 관점 구조와 동작 기반의 테스트
- 종류 : 기초 경로 테스트, 제어 흐름 테스트, 조건 테스트, 루프 테스트, 데이터 흐름 테스트, 분기 테스트
② 명세 기반
- 목적 : 동등 분할과 경계값 분석을 위해 사용자의 입출력, 내부 이벤트 등을 확인
- 목적 및 싱행 코드 기반의 실행을 통한 블랙박스(Black box) 테스트가 속함
※ 블랙박스 테스트란 ?
- 사용자 관점, 명세(요구 사항과 결과물의 일치) 기반의 테스트
- 종류 : 균등 분할, 한계값 테스트, 원인 효과 그래프 테스트, 비교 테스트
2) 통합 테스트
- 모듈 사이의 인터페이스, 통합된 컴포넌트 간의 상호작용을 테스트
- 방법
① 빅뱅(Big Bang)
- 방법 : 모든 모듈을 동시 통합 후 수행
- 더미 모듈 : X
- 장점 : 단시간 테스트 가능, 작은 시스템에 유리
- 단점 : 장애 위치 파악 여려움, 모든 모듈 개발
② 상향식(Bottom Up)
- 방법 : 최하위 모듈 → 상위 모듈
- 더미 모듈 : 드라이버
- 장점 : 장애 위치 파악 쉬움, 모듈 개발 시간 낭비가 없음
- 단점 : 이른 프로토타입 어려움, 중요 모듈이 마지막으로 테스트 될 가능성 높음
③ 하향식(Top Down)
- 방법 : 최상위 모듈 → 하위 모듈
- 더미 모듈 : 스텁
- 장점 : 장애 위치 파악 쉬움, 이른 프로토타입 가능, 중요 모듈 선 테스트 가능, 결함 조기 발견 가능
- 단점 : 많은 스텁 필요, 하위 모듈들의 불충분한 테스트 수행
3) 시스템 테스트
- 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지 테스트
- 요구사항 명세서, 비즈니스 절차, 유스케이스, 리스크 분석 결과 등을 이용
※ 유스케이스란?
- 시스템의 동작을 사용자 입장에서 표현한 시나리오
- 시스템의 관련한 요구사항을 알아내는 과정
① 기능적 요구사항
- 요구사항 명세서, 비즈니스 절차, 유스케이스 등 명세서 기반의 블랙박스 테스트
② 비기능적 요구사항
- 성능 테스트, 회복 테스트, 보안 테스트, 내부 시스템의 메뉴 구조적 웹 페이지의 네비게이션 등 구조적 요소에 대한 화이트박스 테스트
4) 인수 테스트
- 운영 여부를 결정하는 테스트, 실제 업무 적용 전에 수행함
- 방법
① 사용자 인수 테스트
- 비즈니스 사용자가 시스템 사용의 적절성 여부 확인
② 운영상의 인수 테스트
- 시스템 관리자가 시스템 인수 시 수행하는 테스트 활동
③ 계약 인수 테스트
- 계약상의 인수 / 검수 조건을 준수하는지 확인
④ 규정 인수 테스트
- 정부 지침, 법규, 규정 등 규정에 맞게 개발하였는지 확인
⑤ 알파 테스트
- 개발하는 조직 내 잠재 고객에 의해 테스트 수행
⑥ 배타 테스트
- 실제 환경에서 고객에 의해 테스트 수행
728x90