자격증 공부

[정보처리기능사-실기]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