매거진 QA의 시작

Scenario Testing

프로세스 및 기법 관련

by 제임스

Scenario Testing(시나리오 테스트)는 소프트웨어의 사용자 관점에서 실제 상황을 재현하며 검증하는 테스트입니다.

소프트웨어를 사용하는 현실적인 사용 흐름을 기반으로 하며, “사용자가 이 시스템을 통해 무엇을 하고자 하는가?”라는 질문에 초점을 맞춥니다.

단순히 개별 기능이 올바르게 작동하는지 확인하는 것이 아니라, 사용자가 목표를 달성하기 위해 거치는 전체 여정을 점검하는 방식입니다.



Scenario Testing이란?


Scenario Testing은 소프트웨어를 사용자 입장에서 탐구하면서, 사용자 목표를 달성하기 위한 일련의 행동이 제대로 작동하는지 확인하는 테스트입니다.

사용자의 시나리오를 중심으로 소프트웨어의 여러 기능을 연결된 흐름에서 검증합니다.

• 단순한 버튼 클릭 테스트를 넘어서, 시스템의 각 기능이 서로 조화를 이루는지를 확인합니다.


예를 들어,

전자상거래 사이트의 사용자가 아래와 같은 목표를 가진다면, 이를 재현해보는 것입니다.

1. 상품을 검색한다.

2. 장바구니에 추가한다.

3. 결제 정보를 입력하고 주문을 완료한다.



Scenario Testing의 주요 특징


1. 사용자 중심

• Scenario Testing은 실제 사용자가 어떻게 시스템과 상호작용하는지에 초점을 맞춥니다.

예: “사용자가 장바구니에서 상품을 삭제하면, 총 금액이 자동으로 업데이트되는가?”

2. 종합적인 검증

• 개별 기능만 테스트하는 것이 아니라, 여러 기능이 결합된 흐름 전체를 검증합니다.

예: “회원가입 → 이메일 인증 → 로그인 → 첫 구매 할인 적용”의 전체 과정을 테스트

3. 현실적인 테스트

• 실제 사용 사례를 기반으로 하므로, 현실적이고 구체적인 시나리오를 재현합니다.

예: “사용자가 3가지 상품을 검색 후 한 개를 구매한다.”

4. 결과 중심

• 사용자가 최종적으로 원하는 결과를 얻었는지 확인합니다.

예: “결제를 완료한 사용자가 올바른 주문 확인 이메일을 받았는가?”



Scenario Testing은 마치...


Scenario Testing은 여행을 계획하고 실행하는 과정과 비슷합니다.

1. 목적지(사용자 목표)를 정합니다.

• 예: 제주도에서 바다를 보고, 현지 음식을 먹고, 기념품을 산다.

2. 일정과 경로를 계획합니다.

• 예: 공항에서 렌터카를 빌리고, 바다를 보고, 시장에 들르는 경로

3. 계획대로 실행하며 각 단계가 잘 이루어지는지 확인합니다.

• 예: 예약한 숙소에 문제가 없는지, 시장에서 기념품을 구매할 때 카드 결제가 잘 되는지,


소프트웨어에서도 동일합니다. 사용자가 목표를 달성하기 위해 거치는 단계와 흐름을 재현하며, 각 과정이 올바르게 작동하는지 확인합니다.



Scenario Testing의 실제 사례


사례 1: 전자상거래 웹사이트

사용자 목표: 상품을 검색하고 구매하기

시나리오

1. 사용자가 “노트북”을 검색한다.

2. 검색 결과에서 특정 상품을 클릭한다.

3. 상품을 장바구니에 추가한다.

4. 장바구니 페이지로 이동하여 상품을 확인한다.

5. 결제 정보를 입력하고 결제를 완료한다.

6. 주문 확인 이메일을 받는다.


사례 2: 모바일 뱅킹 앱

사용자 목표: 친구에게 송금하기

시나리오

1. 사용자가 앱에 로그인한다.

2. 송금 메뉴를 클릭한다.

3. 친구 계좌 번호와 송금 금액을 입력한다.

4. 인증 코드를 입력한다.

5. “송금 완료” 메시지가 표시되고, 잔액이 업데이트된다.



Scenario Testing의 장점


1. 사용자 경험 개선

• 실제 사용자의 관점에서 테스트하므로, 사용자 불편이나 흐름의 단절을 발견할 수 있습니다.

2. 종합적인 결함 발견

• 개별 기능보다는 기능 간 상호작용에서 발생하는 결함을 발견할 수 있습니다.

3. 실제 상황에 근접

• 현실적인 사용 사례를 기반으로 하므로, 결함이 사용자에게 미칠 영향을 직접적으로 이해할 수 있습니다.

4. 팀 간 협업 강화

• 비기술적인 이해관계자(예: 제품 관리자, 디자이너)도 시나리오를 이해하기 쉬워, 협업이 용이합니다.


Scenario Testing의 단점


1. 구체적인 설계 필요

• 현실적이고 의미 있는 시나리오를 설계하는 데 시간이 걸릴 수 있습니다.

2. 세부 기능 검증 부족

• 개별 기능의 동작보다는 전체 흐름을 중심으로 하기 때문에, 세부적인 결함을 놓칠 가능성이 있습니다.



Exploratory Testing vs. Scripted Testing vs. Scenario Testing

스크린샷 2024-12-15 15.57.22.png Exploratory Testing vs. Scripted Testing vs. Scenario Testing



Scenario Testing과 주니어 QA의 연결점

1. 사용자 관점 이해

• 주니어 QA는 Scenario Testing을 통해 사용자가 소프트웨어를 어떻게 사용하는지 깊이 이해할 수 있습니다.

2. 테스트 설계 능력 향상

• 현실적인 사용 사례를 설계하면서, 테스트 설계 능력을 키울 수 있습니다.

3. 팀 간 협업 경험

• 시나리오를 작성하고 실행하는 과정에서 제품 관리자, 디자이너 등과의 협업 경험을 쌓을 수 있습니다.



Scenario Testing은 사용자의 실제 행동을 기반으로 소프트웨어를 테스트하는 강력한 방법입니다.

Scripted Testing이 개별 기능의 정확성을 검증하고, Exploratory Testing이 창의적인 결함 탐색에 유용하다면, Scenario Testing은 사용자가 목표를 달성하는 과정을 종합적으로 검증합니다.


이 세 가지를 적절히 조합하여 활용하면, 소프트웨어의 품질을 한 단계 높일 수 있습니다.

keyword
매거진의 이전글Scripted Testing