Computer Science/정보처리기사

2.(4) 어플리케이션 테스트 관리

minjiwoo 2022. 1. 27. 12:29
728x90

1. 테스트 케이스 

  1.  개념 : 특정 요구 사항에 준수하는 지를 확인하기 위해서 개발된 입력값, 실행조건, 예상된 결과의 집합

2. 테스트 오라클

  1.  개념 : 테스트 결과가 참인지 거짓인지를 판단하기 위해서 정의된 참 값을 입력하여 비교하는 기법
  2.  종류 : 참 오라클 / 샘플링 오라클 / 휴리스틱 오라클 / 일관성 검사 오라클 

3. 테스트 레벨 

 1) 테스트 레벨 종류

  • 단위테스트 : 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트 하는 단계 ex ) 인터페이스 / 자료구조 / 실행 경로/ 오류 처리 테스트 
  • 통합 테스트 : 단위 테스트를 통과한 컴포넌트 간의 인터페이스를 테스트하는 단계 ex) 빅뱅 테스트, 상향식/하향식 테스트 
  • 시스템 테스트 : 개발 프로젝트 차원에서 정의된 전체 시스템 또는 제품의 동작에 대해 테스트 하는 단계 ex) 기능 / 비기능 요구 사항 
  • 인수 테스트 : 계약상의 요구사항이 만족되었는지 확인하기 위한 테스트 단계 ex) 알파/베타 테스트

 2) 단위 테스트 

  •  소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춘 테스트 
  • 자료구조, 인터페이스, 외부적 I/O, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사 
  •  명세 기반 테스트 (= 블랙박스 테스트 )와 구조 기반 테스트 (= 화이트 박스 테스트 )

3 ) 통합 테스트 

  •  각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
  • 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 앱과 동일 구조, 기능으로 구현된 것인지 확인 

4 ) 시스템 테스트

  •  통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지 검증 
  • 컴퓨터 시스템을 완벽하게 검사하기 위한 목적 또는 성능 목표를 가지고 테스트 함

5 ) 인수 테스트 

  •  최종 사용자와 업무의 이해관계자 등이 테스트를 수행함으로써 개발된 제품에 대해 운영 여부를 결정하는 테스트 
  •  비기능적 특성에 대해 인수 테스트를 통해 확인한다. 
  • [ 종류 ]
  • 사용자 인수 테스트 : 비즈니스 사용자가 시스템 사용의 적절성 여부 등을 확인 
  • 운영상의 인수 테스트 : 시스템 관리자가 인수시 수행하는 테스트 활동. 
  • 계약 인수 테스트 : 계약상의 인수, 검수 조건 준수 여부 확인 
  • 규정 인수 테스트
  • 알파 테스트 : 선택된 사용자(or 실제 사용자) 가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트 
  • 베타 테스트 : 실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트 

 

4. 테스트 지식 체계

1) 소프트웨어 테스트 종류 

  •     프로그램 실행 여부에 따른 분류 : 정적 테스트 / 동적 테스트 

2) 테스트 기법에 따른 분류

A. 화이트 박스 테스트 

  • 각 앱의 내부 구조와 동작을 검사하는 소프트웨어 테스트 
  • 코드 분석과 프로그램 구조에 대한 지식을 바탕으로 모듈 내부를 직접 관찰, 테스트  
  • 소스 코드의 모든 문장을 한번 이상 수행
  • 산출물의 기능별로 제어구조에 따라 선택, 반복 등의 부분들을 수행, 논리적 경로 점검

B. 블랙 박스 테스트 

  • 프로그램 외부 사용자요구사항 명세를 보면서 수행하는 테스트 
  • 소프트웨어의 특징, 요구사항, 설계 명세서에 초점을 맞춰 테스트 
  • 기능 및 동작 위주의 테스트 -> 내부 구조나 작동 원리를 알지 못해도 가능

동등 분할 테스트 : 입력 데이터의 영역을 유사한 도메인 별로 유효값/ 무효값을 그룹핑하여 대푯값으로 테스트 케이스를 도출하는 테스트 기법

경계값 분석 테스트

결정 테이블 테스트 : 요구사항의 논리와 발생 조건을 테이블 형태로 나열

상태 전이 테스트 

유즈케이스 테스트 : 시스템이 실제 사용되는 usecase로 모델링 되어 있을 때 프로세스 흐름을 기반으로 테스트 케이스를 명세화하여 수행하는 테스트 기법

분류 트리 테스트 : SW의 일부 또는 전체를 트리 구조로 분석 및 표현하여 테스트 케이스를 설계하여 테스트 하는 기법

페어 와이즈 테스트 : 테스트 데이터 간에 최소한 한번 씩을 조합하는 방식, 이는 커버해야 할 기능적 범위를 모든 조합에 비해 상대적으로 적은 양의 테스트 세트를 구성하기 위한 테스트 기법

원인 - 결과 그래프 테스트 : 그래프를 활용하여 입력 데이터 간의 관계 및 출력에 미치는 영향을 분석하여 효용성이 높은 테스트 케이스를 선정하여 테스트 하는 기법 

비교 테스트 : 여러 버전의 프로그램에 같은 입력 값을 넣어서 동일한 결과 데이터가 나오는지 비교해 보는 테스트 기법

728x90