정의 및 원리

 

테스트 아이템의 실행 절차를 표현한 업무 흐름도 등의 모델 사용
정상(기본) 흐름과 비정상(대체) 흐름 테스트


예제를 통해 알아보겠습니다.

 

  • 시스템 명 : 현금 인출 기능
  • 요구 사항
    • 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

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 100,000

- ATM 보유 500,000
- 계좌 잔고 200,000

- 정상 출금 100,000
- ATM
보유 400,000
- 계좌잔고 100,000
- ATM
화면 초기화

TCOVER1

2

사용자 카드를 ATM이 인식하지 못하는 시나리오

U1, S1.1, S9

- 비정상 카드

- ATM 보유 500,000
- 계좌 잔고 200,000

- 카드 반환

TCOVER2

3

사용자가 비밀번호를 잘못 입력한 시나리오(<3)

U1, S1.1, U2, S2.2

- 정상 카드
- 비정상 비밀번호(1 또는 1회 오류)

- ATM 보유 500,000
- 계좌 잔고 200,000

- ATM "ATM 현금 부족"메시지 출력
- 비밀번호 재입력 화면으로 이동

TCOVER3

4

사용자가 입력한 인출금액이 ATM 보휴 현금보다 많은 시나리오

U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.3

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 400,000

- ATM 보유 300,000
- 계좌 잔고 500,000

- ATM "ATM 현금 부족"메시지 출력
- ATM
출금액 입력 화면으로 이동

TCOVER4

5

사용자가 입력한 인출금액이 계좌 잔고보다 많은 시나리오

U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.6

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 200,000

- ATM 보유 500,000
- 계좌 잔고 100,000

- ATM "ATM 현금 부족"메시지 출력
- ATM
출금액 입력 화면으로 이동

TCOVER5

6

사용자가 입력한 인출금액이 ATM 출금 단위가 아닌 시나리오

U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.2

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 35,000

- ATM 보유 500,000
- 계좌 잔고 100,000

- ATM "ATM 현금 부족"메시지 출력
- ATM
출금액 입력 화면으로 이동

TCOVER6

7

사용자가 비밀번호를 잘못 입력한 시나리오(=3)

U1, S1.1, U2, S2.2, U2, S2.2, U2, S2.3, S3

- 정상 카드
- 비정상 비밀번호(3회 오류)

- ATM 보유 500,000
- 계좌 잔고 100,000

- ATM "비밀번호 오류 횟수 3"메시지 출력
- ATM
카드 회수

TCOVER7

8

사용자가 입력한 인출금액이 인출 불가능한 시나리오(5만원권 지폐만 있는데, 2만원 인출할 경우)

U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.4

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 30,000

- ATM 보유 500,000(5만원 권)
- 계좌 잔고 100,000

- ATM "ATM 보유 1만원권 부족"메시지 출력
- ATM
출금액 입력 화면으로 이동

TCOVER8

9

사용자가 입력한 인출금액이 일일 인출 상한 액을 초과한 시나리오

U1, S1.1, U2, S2.1, U3.1, U4, S4.1, U5, S5.5

- 정상 카드
- 정상 비밀번호
- 현금 인출기능 선택
- 정상 계좌 선택
- 인출금 40,000

- ATM 보유 500,000
- 계좌 잔고 400,000
- 사용자 일일 출금 상한액 300,000

- ATM "일일 출금 상한액 초과"메시지 출력
- ATM
출금액 입력 화면으로 이동

TCOVER9

10

사용자가 입금 또는 이체 기능을 선택한 시나리오

U1, S1.1, U2, S2.1, U3.2, S10

- 정상 카드
- 정상 비밀번호
- 현금 입금기능 선택

- ATM 보유 500,000
- 계좌 잔고 400,000

- ATM 입금 화면으로 이동

TCOVER10

11

사용자가 거래가 불가한 비정상 계좌를 선택한 시나리오

U1, S1.1, U2, S2.1, U3.1, U4, S4.2

- 정상 카드
- 정상 비밀번호
- 현금 입금기능 선택
- 비정상 계좌 선택

- ATM 보유 500,000
- 계좌 잔고 400,000

- ATM "비정상 계좌 선택"메시지 출력
- 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%


시나리오 테스팅은 모든 테스트 레벨에 적용 가능

주로 인수 테스팅과 시스템 테스팅에 적용


시나리오 테스팅은 다른 기법과 병행하여 적용 가능

 

[실무]기본 흐름을 잡고 대체 흐름은 경험에 기반하여 작성


일반적인 결함

프로세스와 시스템 간의 통합 문제
서로 다른 액터의 사용성 이슈
요구 사항 불일치와 결함
통합 및 상호 운용성 결함

 


 

블로그 이미지

정신차려이각박한세상속에서

,