728x90
반응형

오늘은 제가 실무에서 명세 기반 테스트 케이스 작성을 하면서 드는 생각과

몇 가지 상황에 어떻게 대처하는지 Episode 형식으로 간략하게 포스팅을 할 예정입니다.

상황 설명에 앞서 명세 기반 테스트 케이스 작성법에 대해 간략하게 짚고 넘어가겠습니다.

 

일단 명세기반 테스트 케이스 작성법이란?

 

요구 분석 명세서나 설계 설명서에서 테스트 케이스를 추출하여 테스트한다.

입력 값에 대한 예상 출력 값을 정해놓고 그대로 결과를 나오는지 확인한다.



위의 두 문장 정도가 key point 입니다.

 

자세한 설명은 Naver 지식백과 링크에서 확인할 수 있습니다.

 

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

https://terms.naver.com/entry.naver?docId=3533034&cid=58528&categoryId=58528 

 

명세 기반 테스트

명세 기반 테스트는 일반적으로 블랙박스 테스트(blackbox test)로 더 알려져 있다. 블랙박스 테스트는 [그림 8-14]처럼 청진기로 환자를 진찰하는 상황에 비유할 수 있다. 일반적으로 병원에 가면 의

terms.naver.com

 

주로 저는 소프트웨어 기획서를 전달받고, 그 기획서에 나온 logic , description을 토대로

 

Pre-condition(사전 조건), Test Step(테스트 스텝), Expected Result(예상 결과) 3가지를 구분하여 작성합니다.

 

기획서에 명확하게 명시되어있다면 정말 빠르고 손쉽게 작성할 수 있지만

 

기획서의 logic이 불분명하거나 description의 내용이 부족하면 작성하는데 조금 시간이 걸리곤 합니다.

 

오늘 다룰 상황은 "생략"된 description입니다.

 

 

 

# 다른 페이지의 기능과 동일하다.

 

여기 2페이지의 기획문서가 있습니다.

1페이지 에서는 [A] Tab에서 Web BTN을 클릭했을 때의 Description 이 명시되어 있지만

 

2페이지에서는 이전 페이지와 동일한 기능을 한다고만 적혀 있습니다.

 

그러면 2페이지에 대한 Test case는 어떻게 작성해야 할까요?

 

어떻게 보면 똑같이 [B] Tab에서도 Web BTN이 있고, 동일한 URL로 이동하기 때문에 큰 문제는 없겠지만

 

Expected Result에 "이전 페이지와 동일하게 동작해야 한다."라고 적을 수는 없습니다.

 

TestCase를 작성하는 이유 중 하나는 문서화를 통해 문서를 참고하는 사람들에게 이해를 도울 수 있어야 합니다.

 

이전 페이지와 동일하게 동작해야 한다.라고 작성할 경우에는 

 

해당 프로젝트를 진행할 때는 이상 없이 진행될 수 있겠지만

 

추후 관련 프로젝트 개발을 위해  또는 새로운 인력이 소프트웨어 이해를 돕기 위해 해당 문서를 참고할 경우

 

[A] Tab의 기능 부분을 다시 숙지해야 하는 번거로움이 생기거나, 누락된 Case로 인해 오류가 발생할 수 있기 때문입니다.

Test Step이나 Expected Result 가 같을 순 있겠지만, Pre-Condition 이 다르기 때문에 꼭 구분해서 작성합니다.

 

간단한 예시를 들었지만, [A] Tab에서 나올 수 있는 Test Step 이 10가지 이상으로 Description 이 명시되어있는 상황에도

 

똑같이 [B] Tab 에 대한 Case를 구분하여 작성합니다. 

 

 

제가 실무를 할 때, 기획자마다 스타일이 정말 다릅니다.

어떤 기획자는 Description 상세하게 적어서 Ctrl + C, Ctrl + V를 해도 될 정도로 상세하게 Description을 적어주는 반면,

어떤 기획자는 예상 결과를 QA 가 추측을 해서 작성해야할 정도로 간략하게 Description 을 적어주기도 합니다.

물론, 유능한 QA 엔지니어라면 어떤 기획문서가 와도 입력값에 대한 정확한 예상결과를 도출해 낼 수 있어야 합니다.

오늘은 "다른 페이지의 기능과 동일합니다."

 

라는 상황에 어떻게 대처했는지에 대해 다뤄봤는데요.

 

앞으로 명세 기반 테스트 케이스 작성을 하면서 발생했던 상황과 예시를 많이 작성할 예정입니다.

 

많은 관심 부탁드리며~

 

그럼 Episode 01 마무리하도록 하겠습니다.

728x90
반응형
728x90
반응형

 

 

실무를 할 때, 요구사항 명세서 (기획서) 기반으로 Testcase를 설계하는 경우가 많습니다.

 

그래서 업무를하면서 과장하면 100개 이상의 기획서를 확인했다고 해도 과언이 아닐 정도인데요.

 

같은 기획서를 봐도 QA 엔지니어의 역량에 따라 다른 Testcase가 설계되는 경우가 많습니다.

 

물론, Testcase가 다르더라도 소프트웨어의 품질 향상이 목적이기 때문에 큰 문제는 없습니다만

 

효율적으로 업무를 하기 위해서는 우리는 빠르게 접근할 수 있어야 합니다.

 

그래서 제가 Testcase를 설계할 때 사용하는 방법 중 하나는

 

FlowChart를 작성하고 그 FlowChart 기반으로 Test case, Scenario 를 작성하는 것입니다.

 


Flow Chart 를 작성하는 방법은 아래와 같습니다.

 

 

Flow Chart 를 구성하는 요소
Flow를 진행하게 될 조건 또는 사용자 (Conditions)
조건 또는 사용자(Conditions)가 진입/확인할 화면 상태 (States)
상태(States)를 변경하게 하는 상호작용 (Actions)


위의 세 가지만 구분된다면 Flow Chart를 쉽게 작성 할 수 있습니다.

 


예를 한번 들어보겠습니다.

세가지 STEP으로 진행해보겠습니다.

소프트웨어의 간단한 설명
외국인을 대상으로 한글을 배울 수 있는 교육용 App 이 있습니다.
교육용 App 에는 한글익히기 메뉴가 있으며 해당 메뉴에는 문자단위, 문장단위로 학습유형을 선택 할 수 있습니다.
문자단위의 학습에서는 자음, 모음을 선택해서 학습 할 수 있습니다.

유저는 메인화면 또는 네비게이션 드로어 화면에서 한글익히기 메뉴를 선택할 수 있습니다.
학습화면에서는 이전, 다음 단어/문장을 학습할 수 있습니다. 
모든 단어/문장을 학습하면 학습종료 페이지로 이동됩니다.
요구사항
유저가 한글 학습App(임의의 학습App) 으로 자음에 대한 학습을 진행할 수 있어야 한다.

Flow Chart를 도식화 하기 위해서는 소프트웨어의 간단한 설명(또는 기획서)에서 

 

요구사항이 무엇인지, 핵심이 무엇인지 빠르게 파악을 해서 요약을 해야 합니다.

 

그리고 여기서 Flow Chart의 세 가지를 도출해낼 수 있어야 합니다.

 

#Step 1#

 

▶Condition : 유저, 교육용 App

States : 메인 화면, 내비게이션 드로어 화면, 학습 유형 선택 화면, 자음/모음 선택 화면, 학습 화면

Actions : 유저가 각 화면에서 상호작용 할 수 있는 항목들을 기록( 선택, 클릭, 스와이프, 스크롤 등등..)

 

1. 메인 화면 2. 네비게이션 드로어 화면 3. 학습 유형 선택 화면 4. 자음/모음 선택화면 5. 학습화면
1-1. 한글 익히기 2-1. 한글 익히기 3-1.  문자단위 학습 4-1. 자음 문자  5-1. 학습
5-1-1. 자음 선택 이동
5-1-2. 다음 문자
1-2. 네비게이션 드로어 화면       5-2. 학습종료
5-2-1. 이전글자
5-2-2. 자음 선택 이동

 

##Step 2##

요구사항 도식화

###Step 3###

Flow Chart 기반의 Test case, Scenario 작성

 

위에서 작성한 Flow Chart 기반으로 아래와 같은 case가 도출됩니다.

예시를 들기 위해서 만든 요구사항과 Flow Chart 이므로 굉장히 간단하고 쉽습니다.

이를 응용하는 것은

 

프로젝트에 참여하는 이해당사자(기획자, 디자이너, 개발자 등등) 에게 프로젝트를 쉽게 설명할 수 있을뿐더러

 

접근하는 데에 오랜 시간이 걸리지 않습니다.

 

Testcase 리뷰 기간에 사용하는 것이 적절할 수 있겠네요.

 


마지막으로

 

저는 실무를 진행할 때, 유스 케이스 다이어그램을 사용하여 프로세스를 따로 정의하지 않습니다.

 

제가 하고 있는 업무 환경에서는 불필요한 동작이기 때문이죠.

 

그러나 Testcase 설계를 진행할 때에는 꼭 노트와 펜으로 도식화나 Flow Chart를 그린 후 Testcase 설계를 진행합니다.

 

Flow Chart를 그리다 보면 기획서의 오류에 대해 알 수 있고,

 

전반적인 테스트 흐름도 머릿속에서 시뮬레이션할 수 있기 때문입니다.

 

따라서 이번 글에서 하고 싶은 말은 제가 쓴 글은 단순 참고 대상입니다. 

 

본인이 QA를 진행할 때, 설계 때부터 테스트가 어떻게 진행되는지에 대한 시뮬레이션을 2~3번 머릿속으로 진행해 봐야

 

미리 예정해두었던 일정에 차질이 없이 진행될 것입니다.

 

그럼 모든 QA 엔지니어 분들 파이팅입니다.

 

 

 

728x90
반응형
728x90
반응형

SDLC(Software Development Life Cycle)

 

 

 

 

 

"시스템 엔지니니어링, 정보 시스템 또는 소프트웨어 공학에서 정보 시스템을 계획, 개발 , 시험, 채용 하는 과정을 뜻하는 용어"

 

 

 

 

소프트웨어 개발 생명 주기는 하드웨어부터 소프트웨어 까지 넓은 범위에 적용 가능

 

 

 

대게 요구사항 분석 -> 설계 -> 개발 -> 테스트 -> 운영(유지보수) 단계로 구성되어 있다.

 

 

 

 

 

 

테스트 엔지니어는 테스트를 최종적으로 결함이 없는 제품이 나와야 좋겠지만

 

 

 

 

 

 

"이 과정에서 SDLC 에 관한 각각의 파트들을 이해하고 있다면 실 업무에서 훨씬 더 유용하게 테스팅을 진행할 수 있다."

 

 

 

 

 

 

*피드백 환영합니다*

728x90
반응형

+ Recent posts