상태 전이 테스트 예시
⚡ 스마트 요약
상태 전이 테스트는 입력 조건 변화에 따라 애플리케이션이 상태를 전환하는 방식을 검증하는 블랙박스 기법입니다. 이 튜토리얼에서는 상태 다이어그램의 네 가지 구성 요소, 상태 다이어그램과 상태 테이블의 차이점, 그리고 테스터를 위한 ATM 및 로그인 예제를 설명합니다.

상태 전환 테스트란 무엇입니까?
상태 전환 테스트 블랙박스 테스트는 입력 조건의 변화가 테스트 대상 애플리케이션(AUT)의 상태 변화 또는 출력 변화를 유발하는 테스트 기법입니다. 이를 통해 다양한 입력 조건에서 애플리케이션의 동작을 분석할 수 있으며, 테스터는 긍정적 및 부정적 입력값을 제공하고 시스템의 동작을 기록할 수 있습니다.
이는 시스템과 테스트가 구축된 모델을 기반으로 합니다. 동일한 입력에 대해 이전 상황에 따라 다른 출력을 얻는 시스템은 유한 상태 시스템입니다. 상태 전이 테스트 기법은 이러한 경우에 유용합니다. 다양한 시스템 전환을 테스트합니다..
상태 전환 테스트는 언제 사용해야 할까요?
- 테스터가 제한된 입력값 집합에 대해 애플리케이션을 테스트할 때.
- 테스터는 AUT(테스트 대상 시스템)에서 발생하는 일련의 이벤트를 테스트하여 입력 값 시퀀스에 대한 애플리케이션의 동작을 확인할 수 있습니다.
- 테스트 대상 시스템이 과거의 사건이나 값에 의존하는 경우.
상태 전이 테스트에 의존하지 말아야 할 경우
- 순차적 입력 조합에 대해 테스트가 수행되지 않은 경우.
- 탐색적 테스트처럼 테스트 대상이 서로 다른 기능일 때.
상태 전이 다이어그램의 네 가지 구성 요소
상태 전이 모델은 다음과 같은 네 가지 주요 구성 요소로 이루어져 있습니다.
1) 상태 소프트웨어가 도달할 수 있는 범위.
2) 전환 한 주에서 다른 주로.
3) 이벤트 파일을 닫거나 돈을 인출하는 것과 같은 전환을 유발하는 행위.
4) 조치 오류 메시지나 현금 지급과 같은 전환으로 인해 발생하는 결과입니다.
상태 전이 다이어그램과 상태 전이표의 차이점
상태 전환을 표현하거나 설계하는 주요 방법에는 상태 전환 다이어그램과 상태 전환표 두 가지가 있습니다.
| 아래 | 상태 전환 다이어그램 | 상태 전환 테이블 |
|---|---|---|
| 또한 호출 | 상태 차트/그래프 | 상태 테이블 |
| 대표 | Box상태는 es로, 전이는 화살표로 나타냅니다. | 상태(행)와 이벤트(열)로 구성된 그리드 |
| 식별에 가장 적합 | 유효한 전환 | 잘못된 전환 |
| 각 셀은 다음을 보여줍니다. | - | 사건 발생 후 도달한 상태 |
상태 전환을 만드는 방법 (예제)
예시 1: ATM PIN 잠금
ATM 시스템에서 사용자가 잘못된 비밀번호를 세 번 입력하면 계정이 잠기는 기능을 생각해 보세요.
이 시스템에서는 사용자가 처음 세 번의 시도 중 한 번이라도 유효한 비밀번호를 입력하면 로그인이 성공합니다. 첫 번째 또는 두 번째 시도에서 잘못된 비밀번호를 입력하면 비밀번호를 다시 입력하라는 메시지가 표시됩니다. 마지막으로, 세 번째 시도에서도 잘못된 비밀번호를 입력하면 계정이 차단됩니다.
상태 전이 다이어그램 (예시 1)
다이어그램에서 사용자가 올바른 PIN을 입력하면 '접근 허용' 상태로 이동합니다. 잘못된 비밀번호를 입력하면 다음 시도로 넘어가고, 세 번째에도 같은 실수를 반복하면 '계정 차단' 상태가 됩니다.
상태 전이표 (예 1)
| 주 정부 | 올바른 PIN | 잘못된 PIN |
|---|---|---|
| S1) 시작 | S5 | S2 |
| S2) 첫 번째 시도 | S5 | S3 |
| S3) 두 번째 시도 | S5 | S4 |
| S4) 세 번째 시도 | S5 | S6 |
| S5) 액세스 권한 부여 | - | - |
| S6) 계정이 차단되었습니다 | - | - |
표에서 사용자가 올바른 PIN을 입력하면 상태가 S5(접근 허용)로 전환됩니다. 사용자가 잘못된 비밀번호를 입력하면 다음 상태로 이동하고, 세 번째 잘못된 시도 후에는 계정 차단 상태에 도달합니다.
예시 2: 항공편 예약 로그인
항공편 예약 로그인 화면에서 접속하려면 올바른 담당자 이름과 비밀번호를 입력해야 합니다. 항공편 예약 신청.
상태 전환 그래프
이 애플리케이션은 세 번의 시도 기회를 제공하며, 네 번째 시도에서도 잘못된 비밀번호를 입력하면 시스템이 자동으로 애플리케이션을 종료합니다.
상태 그래프는 테스트할 유효한 전환을 판단하는 데 도움이 됩니다. 올바른 비밀번호와 잘못된 비밀번호 모두를 사용하여 테스트하는 것은 필수이며, 테스트 시나리오두 번째, 세 번째 또는 네 번째 시도에서 로그인이 성공하는지 여부를 각각 테스트할 수 있습니다. 상태 테이블을 사용하여 잘못된 시스템 전환을 확인할 수 있습니다.
상태 테이블에서는 모든 유효한 상태가 왼쪽에 나열되고, 각 상태를 발생시키는 이벤트가 위쪽에 표시됩니다. 각 셀은 해당 이벤트 발생 시 시스템이 이동하는 상태를 나타냅니다. 예를 들어, S1 상태에서 올바른 비밀번호를 입력하면 S6(접근 허용) 상태로 이동하고, 첫 번째 시도에서 잘못된 비밀번호를 입력하면 S3(두 번째 시도) 상태로 이동합니다. 이와 같은 방식으로 다른 모든 상태를 확인할 수 있습니다.
이 방법을 사용하면 두 가지 잘못된 상태를 강조 표시할 수 있습니다. 예를 들어, S6 상태(이미 로그인됨)에서 항공편 예약의 다른 인스턴스를 열고 동일한 에이전트에 대한 비밀번호를 입력한다고 가정해 보겠습니다. 이러한 시나리오에 대한 시스템 응답을 테스트해야 합니다.
상태 천이 기법의 장점과 단점
| 장점 | 단점 |
|---|---|
| 시스템 동작을 그림이나 표 형식으로 표현하여 보여줍니다.ping 테스터는 시스템을 효과적으로 다루고 이해합니다. | 항상 신뢰할 수 있는 것은 아닙니다. 예를 들어, 유한하지 않거나 순차적이지 않은 시스템에는 적합하지 않습니다. |
| 테스터가 모든 조건이 충족되었는지, 결과가 기록되었는지 확인할 수 있도록 해줍니다. | 모든 가능한 상태를 정의해야 합니다. 이는 소규모 시스템에서는 효과적이지만, 상태 수가 기하급수적으로 증가하는 대규모 시스템에서는 더 이상 적합하지 않습니다. |








