정의 및 원리
테스트 아이템의 실행 절차를 표현한 업무 흐름도 등의 모델 사용
정상(기본) 흐름과 비정상(대체) 흐름 테스트
예제를 통해 알아보겠습니다.
- 시스템 명 : 현금 인출 기능
- 요구 사항
- ATM(자동 현금 지급기)를 통해 현금 인출 기능
- 현금 인출 조건 : 정상 계좌, 정상 카드, 정상 비밀번호, 정상 동작 ATM
- 정상 인출 처리 : 거래 금액은 계좌에서 차감 되고, 거래 명세서 출력, ATM 화면 초기화(다음 거래자를 위한 준비)
- 기본 시나리오
- 계좌에서 정상적으로 현금을 인출함
- 대체 시나리오
- ATM 은행 카드 인식 불가
- 사용자가 비밀번호를 3회 이상 틀리게 입력
- ATM의 보유 현금이 인출 금액 보다 적음
- 사용자 계좌 잔고가 인출 금액 보다 적음
- 사용자 출금 단위가 아닌 금액 입력
절차
- TD1 : 기능 셋 식별
- 현금 인출 기능
- 흐름 - 이벤트 다이어그램
- 각 구성 항목 식별
- U1 (사용자) 카드 삽입
- S1.1 (ATM) 카드 정상 인식
- S1.2 (ATM) 카드 인식 불가
- U2 (사용자) 비밀번호 입력
- S2.1 (ATM) 비밀번호 정상
- S2.2 (ATM) 비밀번호 비정상(<3회)
- S2.3 (ATM) 비밀번호 비정상(=3회)
- S3 (ATM) 카드 회수
- U3.1 (사용자) 인출 선택
- U3.2 (사용자) 입금 또는 이체 선택
- S10 (ATM) 입금 또는 이체 화면으로 이동
- U4 (사용자) 계좌 선택
- S4.1 (ATM) 정상 계좌 확인
- S4.3 (ATM) 비정상 계좌
- U5 (사용자) 인출 금액 입력
- S5.1 (ATM) 인출 가능 금액
- S5.2 (ATM) 비유효 인출 금액(인출 단위 외 금액)
- S5.3 (ATM) 보유 현금 부족
- S5.4 (ATM) 인출 불가 금액(고가 지폐만 있음)
- S5.5 (ATM) 일일 인출 금액 초과
- S5.6 (ATM) 계좌잔고 초과 금액
- S6 (ATM) 현금 지급
- S7 (ATM) 계좌 잔고 업데이트
- S8 (ATM) 거래명세서 출력
- S9 (ATM) 카드 반환
- U6 (사용자) 카드 제거
- TD2 : 테스트 컨디션 도출
- TCOND1 : 정상 출금 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.1, S6, S7, S8, S9, U6 )
- TCOND2 : 사용자 카드를 ATM이 인식하지 못하는 시나리오 ( U1, S1.1, S9 )
- TCOND3 : 사용자가 비밀번호를 잘못 입력한 시나리오 (<3회) ( U1, S1.1, U2, S2.2 )
- TCOND4 : 사용자가 입력한 인출금액이 ATM 보유 현금보다 많은 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.3 )
- TCOND5 : 사용자가 입력한 인출금액이 계좌 잔고보다 많은 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.6 )
- TCOND6 : 사용자가 입력한 인출금액이 ATM 출금 단위가 아닌 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.2 )
- TCOND7 : 사용자가 비밀번호를 잘못 입력한 시나리오(=3회) ( U1, S1.1, U2, S2.2, U2, S2.2, U2, S2.3, S3 )
- TCOND8 : 사용자가 입력한 인출금액이 인출 불가능한 시나리오( 5만원권 지폐만 있는데, 2만원 인출할 경우) ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.4 )
- TCOND9 : 사용자가 입력한 인출금액이 일일 인출 상한 액을 초과한 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.5 )
- TCOND10 : 사용자가 입금 또는 이체 기능을 선택한 시나리오 ( U1, S1.1, U2, S2.1, U3.2, S10 )
- TCOND11 : 사용자가 거래가 불가한 비정상 계좌를 선택한 시나리오 ( U1, S1.1, U2, S2.1, U3.1, U4, S4.2 )
- TD3 : 테스트 커버리지 아이템 도출
- TCOVER1 : 정상 출금 시나리오 ( TCOND1 )
- TCOVER2 : 사용자 카드를 ATM이 인식하지 못하는 시나리오 ( TCOND2 )
- TCOVER3 : 사용자가 비밀번호를 잘못 입력한 시나리오 (<3회) ( TCOND3 )
- TCOVER4 : 사용자가 입력한 인출금액이 ATM 보휴 현금보다 많은 시나리오 ( TCOND4 )
- TCOVER5 : 사용자가 입력한 인출금액이 계좌 잔고보다 많은 시나리오 ( TCOND5 )
- TCOVER6 : 사용자가 입력한 인출금액이 ATM 출금 단위가 아닌 시나리오 ( TCOND6 )
- TCOVER7 : 사용자가 비밀번호를 잘못 입력한 시나리오 (=3회) ( TCOND7 )
- TCOVER8 : 사용자가 입력한 인출금액이 인출 불가능한 시나리오(5만원권 지폐만 있는데, 2만원 인출할 경우) ( TCOND8 )
- TCOVER9 : 사용자가 입력한 인출금액이 일일 인출 상한 액을 초과한 시나리오 ( TCOND9 )
- TCOVER10 : 사용자가 입금 또는 이체 기능을 선택한 시나리오 ( TCOND10 )
- TCOVER11 : 사용자가 거래가 불가한 비정상 계좌를 선택한 시나리오 ( TCOND11 )
- TD4 : 테스트 케이스 도출
테스트케이스 |
테스트 케이스 제목 |
시나리오 흐름 |
입력 |
사전조건 |
기대결과 |
테스트 커버리지 아이템 |
1 |
정상 출금 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.1, S6, S7, S8, S9, U6 |
- 정상 카드 |
- ATM 보유 500,000 |
- 정상 출금 100,000 |
TCOVER1 |
2 |
사용자 카드를 ATM이 인식하지 못하는 시나리오 |
U1, S1.1, S9 |
- 비정상 카드 |
- ATM 보유 500,000 |
- 카드 반환 |
TCOVER2 |
3 |
사용자가 비밀번호를 잘못 입력한 시나리오(<3회) |
U1, S1.1, U2, S2.2 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "ATM 현금 부족"메시지 출력 |
TCOVER3 |
4 |
사용자가 입력한 인출금액이 ATM 보휴 현금보다 많은 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.3 |
- 정상 카드 |
- ATM 보유 300,000 |
- ATM "ATM 현금 부족"메시지 출력 |
TCOVER4 |
5 |
사용자가 입력한 인출금액이 계좌 잔고보다 많은 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.6 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "ATM 현금 부족"메시지 출력 |
TCOVER5 |
6 |
사용자가 입력한 인출금액이 ATM 출금 단위가 아닌 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.2 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "ATM 현금 부족"메시지 출력 |
TCOVER6 |
7 |
사용자가 비밀번호를 잘못 입력한 시나리오(=3회) |
U1, S1.1, U2, S2.2, U2, S2.2, U2, S2.3, S3 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "비밀번호 오류 횟수 3회"메시지 출력 |
TCOVER7 |
8 |
사용자가 입력한 인출금액이 인출 불가능한 시나리오(5만원권 지폐만 있는데, 2만원 인출할 경우) |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.4 |
- 정상 카드 |
- ATM 보유 500,000(5만원 권) |
- ATM "ATM 보유 1만원권 부족"메시지 출력 |
TCOVER8 |
9 |
사용자가 입력한 인출금액이 일일 인출 상한 액을 초과한 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.5 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "일일 출금 상한액 초과"메시지 출력 |
TCOVER9 |
10 |
사용자가 입금 또는 이체 기능을 선택한 시나리오 |
U1, S1.1, U2, S2.1, U3.2, S10 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM 입금 화면으로 이동 |
TCOVER10 |
11 |
사용자가 거래가 불가한 비정상 계좌를 선택한 시나리오 |
U1, S1.1, U2, S2.1, U3.1, U4, S4.2 |
- 정상 카드 |
- ATM 보유 500,000 |
- ATM "비정상 계좌 선택"메시지 출력 |
TCOVER11 |
- TD5 : 테스트 셋 구성
- TS1 : 기본 흐름 테스트 : Test Case 1
- TS2 : 대체 흐름 테스트 : Test case 2, 3, 4, 5, 6 ,7 8, 9, 10, 11
- TD6 : 테스트 프로시저 도출
- TP1 : 기본 흐름 테스트 : TS1 과 동일
- TP2 : 기본 흐름 테스트 : TS2 과 동일
커버리지 = (커버된 시나리오 수 / 전체 시나리오 수) * 100%
시나리오 테스팅은 모든 테스트 레벨에 적용 가능
주로 인수 테스팅과 시스템 테스팅에 적용
시나리오 테스팅은 다른 기법과 병행하여 적용 가능
[실무]기본 흐름을 잡고 대체 흐름은 경험에 기반하여 작성
일반적인 결함
프로세스와 시스템 간의 통합 문제
서로 다른 액터의 사용성 이슈
요구 사항 불일치와 결함
통합 및 상호 운용성 결함
'SW_이론 > SW 테스트 설계 향상 교육' 카테고리의 다른 글
결정테이블 테스팅(Cause-Effect Graph, Decision Table Testing) (0) | 2019.08.16 |
---|---|
상태전이 테스팅(State Transistion Testing) (0) | 2019.08.15 |
Pairwise Testing 도구 (0) | 2019.08.15 |
조합 테스팅(Combinatorial Testing) (0) | 2019.08.15 |
경계값 분석(Boundary Value Analysis) (3) | 2019.08.14 |