식별자
, 테스트 항목
, 입력 명세
, 출력 명세
등으로 구성됐다.구성 요소 | 설명 |
---|---|
식별자 Identifier |
테스트 케이스를 고유하게 식별하기 위한 항목 식별자 |
테스트 항목 Test Item |
테스트할 모듈이나 기능에 대한 간략한 내용, 실행 조건 |
입력 명세 Input Specification |
테스트 실행 시 입력할 데이터 및 조건 (데이터: 입력 값, 선택 버튼, 체크 리스트 값…) |
출력 명세 Output Specification |
테스트 수행 시 필요한 HW나 SW 환경 테스트 시 사용할 물리적, 논리적 테스트 환경 |
환경 설정 |
테스트 수행 시 필요한 HW, SW 환경 |
특수 절차 요구 |
테스트 케이스 수행 시 특별히 요구되는 절차 |
의존성 기술 |
테스트 케이스 간의 의존성 및 종속성 |
true
, false
인지를 판단하기 위해서 종류 | 설명 |
---|---|
True Oracle |
모든 입력 값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 기법 |
Sampling Oracle |
특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 제공해주는 기법 |
Heuristic Oracle |
Sampling Oracle 개선한 버전 특정 입력 값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 Heuristic(추정)으로 처리하는 기법 |
Consistent Oracle 일관성 검사 오라클 |
애플리케이션 변경이 있을 때 수행 전, 후의 결과 값이 동일한 지를 확인하는 기법 |
Test Level
이라고 한다.▲ V - Model (테스트 레벨을 소프트웨어 개발 단계에 연결하여 표현한 그림)
종류 | 설명 | 기법 |
---|---|---|
Unit Testing 단위 테스트 |
사용자 요구 사항에 대한 단위 모듈 Subroutine 등을 테스트하는 단계 |
인터페이스 테스트 자료구조 테스트 실행 경로 테스트 오류 처리 테스트 |
Integration Testing 통합 테스트 |
단위 테스트를 통과한 Component 간 인터페이스를 테스트하는 단계 |
Bigbang 테스트 ‘상향/하향’ 식 테스트 |
System Testing 시스템 테스트 |
개발 프로젝트 차원에서 정의된 전체 시스템 or 제품 동작에 대해 테스트하는 단계 |
기능/비기능 요구사항 테스트 |
Acceptance Testing 인수 테스트 |
계약 상의 요구 사항이 만족됐는지를 확인하기 위한 테스트 단계 |
Alpha/Beta 테스트 |
단위 테스트 Unit Testing
완료한 모듈이나 Component 단위의 프로그램이 SW 각 모듈 간 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
빅뱅 통합 테스트
, 상향식 통합 테스트
, 하향식 통합 테스트
, 샌드위치 통합 테스트
샌드위치 통합 테스트
테스트 기법 | 설명 |
---|---|
Big-bang Test |
모든 모듈을 동시에 통합 후 테스트 수행하는 방식 Driver/Stub 없이 실제 모듈로 테스트를 진행한다. |
Top Down Test 하향식 통합 테스트 |
메인 제어 모듈, 프로그램으로부터 아래 방향으로 제어 경로를 따라가면서 하향식으로 통합하는 테스트 방식 메인 제어 모듈에 해당하는 하위 모듈과 최하위 모듈은 ‘깊이-우선’ / ‘너비-우선’ 방식으로 통합된다. 모듈 및 모든 하위 Component 대신하는 더미 모듈인 Test Stub 필요하다. |
Bottom Top Test 상향식 통합 테스트 |
App 구조에서 최하위 레벨의 모듈 / 컴포넌트부터 점진적으로 싱위 모듈과 함께 테스트하는 기법 상위 모듈에서 데이터 입/출력 확인하기 위한 더미 모듈인 Test Driver 가 필요하다. |
1. Test Stub
- 모듈 및 모든 하위 컴포넌트를 대신하는 더미 모듈
- 하위 모듈의 반환 값만 전달한다.
- 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구
일시적으로 필요한 조건만 가지고 있는 시험용 모듈
2. Test Driver
- 상위의 모듈에서 데이터 입/출력을 확인하기 위한 더미 모듈
- 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달
모듈 테스트 수행 후의 결과를 도출하는 도구
기능적 요구사항 테스트
, 비기능적 요구사항 테스트
로 구분된다.종류 | 설명 |
---|---|
기능적 요구사항 테스트 |
요구 사항 명세서 , 비즈니스 절차 , Usecase 등 명세서 기반의 Blackbox 테스트 기법 |
비기능적 요구사항 테스트 |
성능 테스트 , 회복 테스트 , 보안 테스트 , 내부 시스템 메뉴 구조/웹 페이지 네비게이션 등구조적 요소에 대한 Whitebox 테스트 |
Alpha Test
, Beta Test
종류 | 설명 |
---|---|
Alpha Test |
선택된 사용자 가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트 사용자 : 회사 내 다른 사용자 or 실제 사용자 |
Beta Test |
실 환경에서 일정 수의 사용자에게 SW를 사용하게 하고 피드백을 받는 테스트 Field Testing이라고도 하며, 개발자 없이 고객의 사용 환경에서 SW 설치하여 검사를 수행하는 인수 테스트 |