테스트 케이스
요구사항에 준수하는지 확인하기 위해 입력값, 실행 조건, 예상된 결과의 집합이다. 테스트 케이스에는 식별자(고유하게 식별하기 위한 항목 식별자), 테스트항목(테스트 모듈에 대한 간략한 내용), 입력명세(테스트 실행 시 입력할 값 및 조건), 출력명세(실행 시 기대되는 결과), 환경설정(테스트 수행 시의 환경), 특수절차요구(수행 시 요구되는 절차), 의존성을 포함한다.
테스트 레벨
- 단위 테스트: 사용자 요구사항에 대한 단위 모듈을 테스트한다. 자료구조, 인터페이스, 외부 I/O, 오류 처리 등을 테스트한다.
- 통합 테스트: 단위 테스트를 통과한 컴포넌트의 인터페이스를 테스트한다.
- 시스템 테스트: 개발 프로젝트 차원에서 정의된 전체 시스템에 대해 테스트한다. 기능 뿐 아니라 성능, 보안, 메뉴 구조 등의 비기능적인 테스트도 수행한다.
- 인수 테스트: 계약 상 요구사항이 만족되었는지 확인하기 위해 테스트한다. 알파 테스트, 베타 테스트가 이에 해당한다.
테스트 유형(블랙박스 테스트 한정)
- 동등 분할 테스트: 입력 데이터의 유효값과 무효값을 그룹핑하여 대표값으로 테스트를 한다
- 경계값 테스트: 경계값을 포함하여 최소값 바로 위, 최대치 바로 아래 등의 테스트를 한다
- 결정 테이블 테스트: 요구사항의 논리와 발생 조건을 테이블 형태로 나열하여 조건과 행위를 모두 테스트한다
- 상태 전이 테스트: 테스트 대상이나 객체의 상태를 구분하여, 이벤트에 의해 상태가 변경되는 경우의 수를 테스트한다
- 유스케이스 테스트: 시스템이 실제 사용되는 유스케이스를 기반으로 프로세스 흐름을 테스트한다
- 분류 트리 테스트: 트리 구조로 분석 및 표현하여 테스트 케이스를 설계한다
- 페어와이즈 테스트: 테스트 데이터 간의 최소 한 번씩 조합하여 테스트한다
- 원인-결과 그래프 테스트: 그래프를 활용하여 입력데이터 간의 관계와 출력의 영향을 분석하여, 효용성이 높은 케이스를 선정하여 테스트한다
- 비교테스트: 여러 버전의 프로그램에 같은 입력값을 넣어서 동일한 결과가 나오는지 테스트한다
- 오류 추정 테스트: 개발자가 범할 수 잇는 실수를 추정하여 결험이 검출되도록 테스트를 한다
결함 심각도별 분류
- 치명적(Critical): 기능이나 제품의 테스트를 오나전히 방해하고 못하게 하는 결함(데이터 손실, 시스템 충돌)
- 주요(Major): 기대한 결과와 많이 다르게 작동하거나 기능을 하지 못함(기능 장애)
- 보통(Normal): 특정 기준을 충족하지는 못하나 전체에 영향을 주지않는 일부 부자연스러운 결함(사소한 기능 오작동)
- 경미한(Minor): 사용성의 불편함을 유발(UI 잘림현상 등)
- 단순(Simple): 사소한 버그로 기능에 영향은 없으나 수정되어야 함(미관상 좋지 않은 것)
'PM으로 성장하기 > 개발 공부' 카테고리의 다른 글
연계 모듈 구현 (0) | 2023.09.04 |
---|---|
딥링크(URI Sheme, App Links, Universal Link, Intent Scheme), 디퍼드 딥링크 (0) | 2023.07.25 |
미들웨어 (0) | 2023.06.27 |
ETL(Extract, Transform, Load) (0) | 2023.06.14 |
Proxy, Gateway (0) | 2023.06.14 |
댓글