Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 클라우드
- webhacking
- Review
- 자격증
- 기록
- 드림핵
- 자격증공부
- IT
- DreamHack
- 웹해킹
- wargame
- 워게임
- 복습
- 정보처리기사
- 리눅스마스터2급
- keyword
- Shell
- 취약점진단
- 리눅스
- Linux
- 보안용어
- it자격증
- 공부
- study
- 정리
- 보안
- 케이쉴드주니어
- 위험관리
- Security
- reivew
Archives
- Today
- Total
IT Memory Note
[정보처리기사] 애플리케이션 테스트 관리 : 애플리케이션 테스트 케이스 설계(3) 본문
1️⃣ 애플리케이션 테스트 케이스 작성
☆☆☆
(5) 테스트 케이스(Test Case)
1. 테스트 케이스의 개념
- 특정 요구사항에 준수하는지를 확인하기 위해 개발된 입력 값, 실행조건, 예상된 결과의 집합
2. 테스트 케이스 필요 항목
- 테스트 케이스 작성에 필요한 공통 작성 항목 요소와 개별 테스트 케이스 항목 요소로 나누어 작성함
구분 | 항목 | 설명 |
공통 작성 항목 요소 | 테스트 단계명, 작성자, 승인자, 작성일자, 문서 버전 | 단위/통합/시스템/인수 테스트 등의 테스트 단계와 테스트 케이스 작성자, 승인자, 작성일자, 버전 등을 작성 |
대상 시스템 | 애플리케이션 개발 서버 또는 개발 시스템명 등을 작성 | |
변경 여부 | 테스트 케이스 변경 여부 및 변경 사유 등을 작성 | |
테스트 범위 | 테스트 대상 애플리케이션의 기능별 테스트 범위 및 업무별 테스트 범위를 식별 | |
테스트 조직 | 테스트 케이스 작성 및 테스트 수행을 담당할 조직 식별 | |
개별 테스트 케이스 항목 요소 | 테스트 ID | 테스트 케이스를 고유하게 식별하기 위한 ID를 작성 |
테스트 목적 | 테스트 시 고려해야할 중점 사항이나 테스트 케이스의 목적을 작성 | |
테스트할 기능 | 애플리케이션의 테스트할 기능을 간략하게 작성 | |
테스트 데이터(=입력 데이터) | 테스트 실행 시 입력할 데이터(입력 값, 선택 버튼, 체크리스트 값 등)를 작성 | |
예상 결과(=기대 결과) | 테스트 실행 후 기대되는 결과 데이터(출력 데이터, 결과화면, 기대 동작 등)를 작성 | |
테스트 환경 | 테스트 시 사용할 물리적, 논리적 테스트 환경, 사용할 데이터, 결과 기록 서버 등의 내용을 작성 | |
테스트 조건(=전제 조건) | 테스트 간의 종속성, 테스트 수행 전 실행되어야 할 고려사항 등을 작성 | |
성공/실패 기준 | 테스트를 거친 애플리케이션 기능의 성공과 실패를 판단하는 조건을 명확하게 작성 | |
기타 요소 | 사용자의 테스트 요구사항 중 특별히 고려해야 할 내용을 간략하게 기술 |
(6) 테스트 오라클(Test Oracle)
1. 테스트 오라클의 개념
- 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참 값을 입력하여 비교하는 기법
2. 테스트 오라클의 종류
종류 | 설명 |
참(True) 오라클 | 모든 입력 값에 대하여 기대하는 결과를 생성함으로써 발생된 오류를 모두 검출할 수 있는 오라클 |
샘플링(Sampling) 오라클 | 특정한 몇 개의 입력 값에 대해서만 기대하는 결과를 제공해 주는 오라클 |
휴리스틱(Heuristic) 오라클 | 샘플링 오라클을 개선한 오라클로, 특정 입력 값에 대해 올바른 결과를 제공하고, 나머지 값들에 대해서는 휴리스틱(추정)을 처리하는 오라클 |
일관성 검사(Consistent) 오라클 | 애플리케이션 변경이 있을 때, 수행 전과 후의 결과값이 동일한지 확인하는 오라클 |
2️⃣ 애플리케이션 테스트 시나리오 작성
☆☆
(1) 테스트 레벨(Test Level)
1. 테스트 레벨의 개념
- 함께 편성되고 관리되는 테스트 활동의 그룹
- 프로젝트에서 책임과 연관되어 있음
- 각각의 테스트 레벨은 서로 독립적임
2. 테스트 레벨의 종류
⓵ V 모델과 테스트 레벨
※ V 모델 : SW 생명주기 각 단계별로 개발자 과점에서의 공정 과정상 검증과 사용자 관점에서의 최종 산출물에 대한 확인을 지원하기 위한 테스트 모델
⓶ 테스트 레벨의 종류
종류 | 설명 | 기법 |
단위 테스트 | 사용자 요구사항에 대한 단위 모듈, 서브루틴 등을 테스트하는 단계 | 자료 구조 테스트, 실행 경로 테스트, 오류 처리 테스트, 인터페이스 테스트 |
통합 테스트 | 단위 테스트를 통과한 모듈 간의 인터페이스, 통합된 컴포넌트 간의 상호작용을 검증하는 테스트 단계 | 빅뱅 테스트, 샌드위치 테스트, 상향식 테스트, 하향식 테스트 |
시스템 테스트 | 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트 단계 | 기능•비기능 요구사항 테스트 |
인수 테스트 | 계약 상의 요구사항이 만족되었는지 확인하기 위한 테스트 단계 | 계약 인수, 규정 인수, 사용자 인수, 운영상의 인수, 알파•베타 테스트 |
- 분석, 설계, 개발 단계에서 부과된 조건을 만족하는지 검증을 수행하고, 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트 단계에서 최종 산출물에 대한 확인을 함
⓷ 단위 테스트(Unit Test) : 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춘 테스트
- 사용자의 요구사항을 기반으로 한 기능성 위주의 테스트를 수행함
- 명세 기반 테스트(블랙박스 테스트)와 구조 기반 테스트(화이트박스 테스트)로 나누어지지만 주로 구조 기반 테스트 위주로 수행함
⓸ 통합 테스트(Integration Test) : 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
- 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지를 확인하는 테스트
⓹ 시스템 테스트(System Test) : 통합된 단위 시스템의 기능이 시스템에서 정상적으로 수행되는지를 검증하는 테스트
- 컴퓨터 시스템을 완벽하게 검사하기 위한 목적 또는 성능 목표를 가지고 테스트함
⓺ 인수 테스트(Acceptance Test) : 최종 사용자와 업무의 이해관계자 등이 테스트를 수행함으로써 개발된 제품에 대해 운영 여부를 결정하는 테스트
- 시스템의 일부 또는 특정한 비기능적인 특성에 대해 인수 테스트를 통해 확인함
< 인수 테스트의 종류 >
종류 | 설명 |
알파 테스트 (Alpha Test) |
선택된 사용자(회사 내의 다른 사용자 또는 실제 사용자)가 개발자 환경에서 통제된 상태로 개발자와 함께 수행하는 인수 테스트 |
베타 테스트 (Beta Test) |
실제 환경에서 일정 수의 사용자에게 대상 소프트웨어를 사용하게 하고 피드백을 받는 인수 테스트 |
(2) 테스트 시나리오(Test Scenario)
1. 테스트 시나리오의 개념
- 테스트 수행을 위한 여러 테스트 케이스의 집합으로서, 테스트 케이스의 동작 순서를 기술한 문서이며 테스트를 위한 절차를 명세한 문서
- 테스트 수행 절차를 미리 정함으로써 설계 단계에서 중요시되던 요구사항이나 대안 흐름과 같은 테스트 항목을 빠짐없이 테스트함
2. 테스트 시나리오 작성 시 유의점
• 테스트 시나리오 분리 작성 : 테스트 항목을 하나의 시나리오에 모두 작성하지 않고, 시스템별, 모듈별, 항목별 테스트 시나리오를 분리하여 작성함 • 고객의 요구사항과 설계 문서 등을 토대로 테스트 시나리오를 작성함 • 각 테스트 항목은 식별자 번호, 순서번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등의 항목을 포함하여 작성함 |
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 애플리케이션 테스트 관리 : 성능 개선 (0) | 2024.09.01 |
---|---|
[정보처리기사] 애플리케이션 테스트 관리 : 애플리케이션 통합 테스트 (0) | 2024.09.01 |
[정보처리기사] 애플리케이션 테스트 관리 : 애플리케이션 테스트 케이스 설계(2) (2) | 2024.09.01 |
[정보처리기사] 애플리케이션 테스트 관리 : 애플리케이션 테스트 케이스 설계(1) (0) | 2024.08.30 |
[정보처리기사] 소프트웨어 개발 보안 구축 : 소프트웨어 개발 보안 구현(3) (2) | 2024.08.29 |