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
반응형

 

V-모델에서 V는 개발 과정과 테스트 단계를 표현한 모습이 V 자 모형이기도 하지만

 

"V는 V&V (Verification & Validation) 을 의미한다" 라는 것을 최근에 알게 되었다...........

 

 

기본적인 V 모형은

 

위와 같이 개발과 테스트를 동등하게 간주하는 모형이다.

 

V모형은 폭포수모형과 달리 소프트웨어 생명주기를 개발에 관련된 단계들과 테스트에 관련된 단계들로 명확하게 구분

 

하고 그들간의 관계를 명시적으로 나타낸다.

 

단계를 구분함으로써 각 개발단계마다 테스트도 다르게 진행된다.

 

*STLC(Software testing life cycle)

①단위 테스트 : 시스템을 구성하는 모듈의 구현 정보 및 상세 설계 정보를 이용하여 각 모듈이 올바른 기능을 수행하는지 판별한다.

②통합 테스트 : 모듈간의 인터페이스를 테스트하는 것이 주 목적으로 소프트웨어 시스템을 통합하는 전략과 밀접한 관계가 있다.

③시스템 테스트 : 모듈들을 통합하여 완전한 시스템이 구성될 때 테스터에 의해 수행되는 테스트이다.

④인수 테스트 : 개발자 관점으로 시스템 오류를 검출하기 보다는 사용자 관점에서 요구사항에 맞게 개발되었는지를 확인하는 테스트이다.

기본적인 V 모델에 대해 알아보았으니

 

V&V에 대해서 알아보겠다.

 

 

V&V (Verification & Validation)

 

Verification '검증' & Validation '확인'

 

검증과 확인이다.

 

처음에 검증과 확인은 같은 개념이라고 생각되었지만 

 

V모델의 그림을 계속 보다보니 "테스트과정","목적" 을 기준으로 검증과 확인을 생각해 보기로 했다.

 

V 모델의 STLC 중 단위, 통합 , 시스템 테스트는 프로젝트에 참여한 팀 내부에서 개발이 잘 진행되고 있는지를 검증하는 과정이고

 

인수 테스트는 팀 내부에서 진행되었던 일련의 활동들이 사용자의 요구사항을 만족하였는지에 대한 확인의 과정이라고 생각된다.

 

 

 

 

**피드백 환영입니다.

**테스터와 관리자를 위한 소프트웨어 테스팅 책에서 많은 도움을 얻었습니다.

구매 주소 : www.yes24.com/Product/Goods/19600741

 

테스터와 관리자를 위한 소프트웨어 테스팅 실무 가이드

 

www.yes24.com

 

 

728x90
반응형
728x90
반응형

 

오늘은 탐색적 테스팅에 관해 알아보도록 하겠습니다.

 

 

탐색적 테스팅의 개념 :

경험 기반의 테스팅 기법 중 하나로 테스터의 경험, 직관, 기술능력을 바탕으로 테스팅 하는 기법

 

*내용추가(2021.04.20)
*탐색적 테스팅의 구성요소
ⓐ테스트 차터(Test Charter)
- 탐색적 테스팅에서 테스트의 범위와 목적, 테스트 방법 등을 정의하기 위한 테스트 참조 문서
- 테스트 목적 선언 또는 임무 
- 테스트 차터는 테스트 아이디어를 포함할 수 있다.
ⓑ시간 제한 (Time Boxing)
- 테스트 차터를 정할 때, 시간을 정한다.
- 시간 제한을 두고 테스트에 몰입을 유도한다.
ⓒ테스트 노트(Test Note)
- 테스트를 실행하며 테스트 실행 시 활동이나 머릿속에 계획한 내용, 설계한 내용을 간략하게 노트에 기록한다.
- 테스트 케이스의 역할을 대체하며 검토 가능한 결과물로 활요한다.
ⓓ요약보고/회고 (Debriefing)
- 테스트가 종료되고 발견된 결함과 이슈를 공유한다.
- 테스트 노트를 기반으로 테스트가 수행된 경험과 의견을 팀원과 공유한다.

 

탐색적 테스팅은 테스터가 의도하던, 의도하지 않던 테스트 진행 시 발생되는 기법중에 하나라고 생각됩니다.

 

탐색적 테스트는 테스터의 역량에 따라 결과가 달라질 수도 있습니다.

 

저는 주로 명세기반으로 TC를 작업하고, 그 TC 를 가지고 테스트를 하게되면 전반적인 기능에 대한 검증은 가능하지만

 

예외적인 상황에 놓칠 수 있는 결함이 발생하게 됩니다. (소프트웨어의 특성상 더더욱 확인이 필요한 작업)

 

예를 들면 , 음원 재생에 관한 탐색적 테스팅 기법을 적용해보도록 하겠습니다.

 

EX)

APP : MP3 플레이어 

준비물 : 기획서, 기획서 기반으로 작성된 Testcase, 테스트용 단말기, 

 

명세기반으로 작성된 TC

TC-ID REQ-ID Main Middle Sub Pre-Condition Test Step Expected Result
XX-00X XX-XX Main MP3 음원 목록

재생 1. 로그인 상태
2. 네트워크 연결상태
3.  MP3플레이어 App 진입상태
4. MP3 음원 목록
진입상태
1. 재생중인 음원을 확인한다. 1. 선택한 음원이 정상재생되어야 한다.
(재생중일때, 프로세스 바가 멈추면 안된다.)

일 때, 명세기반으로만 확인을 하게되면

 

단순히 재생버튼을 눌렀을 때의 동작만 확인하게됩니다.

 

재생버튼을 눌렀을 때 외부환경에 따라 재생기능이 어떻게 동작되는지 확인하고 싶습니다. (테스트 차터)

 

그러나 우리의 경험 멜론, 지니뮤직, 애플 뮤직 등 여러 음원 스트리밍 APP을 사용해본 경험에 의거하여 해당부분에 대해 추가적인 테스트를 할 수 있습니다. 이러한 계획들은 테스트 노트에 간단하게 기록합니다. (테스트 노트)

 

그러면 추가적으로 탐색적 테스팅을 간단하게 진행해보도록 하겠습니다.

 

 

 제 경험으로는 대표적으로 MP3가 재생될 때 전화가 오거나 혹은 백그라운드에 MP3플레이어를 실행 시켜놓은 후 다른 APP 을 사용하였을 때 어떻게 결과가 나올지 궁금합니다.

 

1. MP3가 재생될 때 전화수신 event 추가

2. Pre-condition에 재생중인 MP3 제외 유저들이 많이 사용하는 APP 실행 추가

(Time box 를 설정하여 검증 진행)

 

위의 테스트를 진행하게 되었을 때, 극단적으로 외부 앱과의 충돌로 인한 APP 종료 상황이 발생되었다고 가정한다면

 

이 결함에 대해 팀원들과 이슈를 논의할 수 있습니다. (요약 보고 Debriefing)

 

요약 보고 활동을 통해 공유된 결함으로 앞으로의 프로젝트에 있어 시행착오를 줄이고, 효과적인 기획, 개발, 검증 모두 

 

피드백이 가능합니다.

 

 

 

*** 탐색적 테스팅에 관해 임의로 예를 들어 작성해 보았지만 부족한 부분이 많습니다.

피드백 환영입니다.***

 

 

728x90
반응형
728x90
반응형

 

Win 10 에서 낮은 버전의 explore 로 테스트 하는 두가지 방법에 대해 알아보도록 하겠습니다.

 

 

1. Internet Explore Emulator

▶ F12(개발자 모드) 를 사용하는 방법

사용중인 Internet Explore에서 F12(개발자모드) 진입 후

위와 같이 테스트하고자 하는 IE 버전을 선택해주시면 됩니다.

 

2. Chrome plug-in IE Tab

▶ Chrome plug-in 을 설치하는 방법

 

https://www.ietab.net/ 에 접속 > Try It Now >> 를 클릭

확장 프로그램인 IE Tab 을 Chrome에 추가합니다.

추가된 IE Tab을 한번 더 클릭 

ietabhelper.exe 가 다운로드 됩니다.

ietabhelper.exe 를 다운받고 실행하게되면 URL 주소창 하단에

Address 창이 새로 생긴게 보이실 것입니다.

Address 입력창 우측에 옵션아이콘을 클릭합니다.

 IE Compatibilty Mode ( IE 호환성 모드)를 체크할 수 있습니다.

여기서 두가지 모드를 확인할 수 있습니다.

 

●Standards Mode (표준 모드) : IE 브라우저가 지원하는 최신의 표준에 따라 웹 페이지가 출력
●Forced Standards Mode (강제 표준 모드) : 웹 표준에 맞게 작성되지 않은 과거 웹 페이지를 임시방편으로 깨지지 않게 보여주는 모드
(IE 11 기준 웹 페이지에서 IE 8 Standards Mode 에서는 지원하지 않는 부분은 깨져서 노출되지만,  IE 8 Forced Standards Mode 를 사용했면, IE 8에서 지원하지 않는 부분을 임시방편으로 보여주게된다.  )

 IE 버전 설정 후 기존 URL 입력 창과 IE Tab Address 입력창 확인.

IE Tab Address 입력창으로 검증하고자 하는 Web site URL 입력하여 이동하면 됩니다.

 

728x90
반응형
728x90
반응형

1. JMeter 초기 진입 상태

 

초기 화면입니다.

 

테스트를 위해 왼쪽 상단의 Test Plan 에 마우스 커서를 올려 놓은 후 우측 클릭

 

Add > Threads(Users) > Thread Group 를 순차적으로 클릭해 줍니다.

 

 

 

2. JMeter 테스트를 위한 기본 설정

 

용어 설명
Action to be taken after a Sampler error 테스트 중 Error 가 발생했을 경우 처리 방법
Number of Threads (users) 쓰레드 갯수 기입 ( 가상 사용자의 수)
Ramp-Up Period (in seconds)  쓰레드의 전체가 실행되는데 걸리는 시간
Loop Count  테스트를 반복하는 횟수

 

위에서 만든 Thread Group 에서 

 

설정하고 싶은 값을 설정합니다.

 

 

위와 같이 

Action to be taken after a Sampler error : Continue

Number of Threads (users) : 10

Ramp-Up Period (in seconds) : 1

Loop Count :3

 

으로 설정을 하였다면

1) 테스트 실행 중 Error 가 발생했을 경우에도 테스트를 진행하고
2) 가상 사용자의 숫자는 10 명이며
3) 첫번 째 Thread 가 수행 되고, 다음 thread 가 수행 될 때 1초의 대기 시간이 있으며
4) 각각의 Thread 가 3번씩 실행되는 것입니다.

 

 

3. JMeter 테스트를 할 페이지 설정

 

테스트 페이지 설정 위해 왼쪽 상단의 Thread Group 에 마우스 커서를 올려 놓은 후 우측 클릭

 

Add > Sampler > HTTP Request 를 순차적으로 클릭해 줍니다.

 

 

 

용어 설명
Name 왼쪽에 위치한 트리에서 보여질 이름
Server Name or IP 테스트 하려고 하는 도메인 또는 IP 입력
Port Number 웹 서버의 포트 번호 입력
Method 전송 방식 선택
Path 도메인, Port 번호를 제외한 Url 입력
(ex : localhost : xxxx/oooo/nn 이라면 /oooo/nn 만 입력)
Parameters / Body Data Request 시 함께 전달해야 하는 값 입력

 

Http 요청을 서버에 전송하여 결과를 받아오기 위한 설정단계입니다.

 

설정 후 결과 보기는 다음 포스팅에 진행하도록 하겠습니다.

728x90
반응형
728x90
반응형

1. JMeter 설치하기

 

링크를 클릭해 주세요.

링크(https://jmeter.apache.org/) 를 클릭하고, APACHE JMeter 에 접속합니다.

 

왼쪽 상단에 Download Releases 클릭

 

apache-jmeter-5.4.1zip 을 클릭하여 다운로드 받습니다.

 

압축파일 풀어주시면 설치는 끝납니다.

 

2. JMeter 실행해보기

 

apache-jmeter-5.4.1\bin (bin 폴더 경로로 이동)

 

으로 가서 jmeter Windows 배치 파일을 실행해 줍니다.

 

JMeter Windows 배치 파일을 실행해주면

 

위와 같은 cmd 창이 뜨면서 실행이됩니다.

(cmd창을 종료하면 JMeter 도 종료되니 조심!)

 

cmd 창과 JMeter가 같이 실행되는걸 보실 수 있으십니다.

 

그럼 간단하게 설치방법과 첫 실행까지 알아보았습니다.

 

다음 포스팅은 기본적인 사용법을 알아보도록 하겠습니다.

 

감사합니다.

728x90
반응형
728x90
반응형

 

1. JMeter 란?

→ 웹 애플리케이션을 중심으로 다양한 서비스의 성능을 분석하고 측정하기 위한 부하 테스트 도구로 사용할 수 있는 아파치 프로젝트이다.(요약)

 

 웹 애플리케이션 처럼 클라이언트-서버 구조로 된 소프트웨어의 성능 테스트를 위해서 만들어진 자바 프로그램이고,  JMeter는 단위/성능/스트레스 테스트 등 많은 곳에서 활용할 수 있다.

  

→ JMeter는 통신 프로토콜 단계에서만 동작하고 웹 브라우저에는 동작하지 않는다.

즉 , 통신규약에 맞도록 클라이언트와 서버 간 메시지만 송수신할 뿐이고 클라이언트 자체에서 행해지는 연산동작은 하지않는다.

  

 

 

 

 

2. 성능테스트 란?

→ 서비스 및 서비스 시스템의 성능을 확인하기 위해 실제 사용 환경과 비슷한 환경에서 테스트를 진행하는 것을 말한다. 이를 통해서 Response Time(응답시간) 과 Throughput(처리량), 병목구간 등을 확인할 수 있다.

성능 테스트로 얻은 정보로 서비스나 서비스 시스템의 문제점을 확인하고 이를 개선하여 보완할 수 있다.

 

ⓐLoad 테스트

▶ 시스템의 성능을 벤치 마크하기위한 테스트를 의미한다.

Load(부하) 를 순차적으로 증가시키면서 응답시간이 급격히 증가하거나 더는 처리량이 증가하지 않거나 시스템의 CPU와 Memory 등이 기준값 이상으로 증가하는 등 비정상 사태가 발생하는 접점(임계점)을 찾아내고 이를 바탕으로 성능 이슈에 대한 튜닝과 테스트를 반복한다.

 

ⓑStress 테스트

▶ 임계값 이상의 요청이나 비정상적인 요청을 보내 비정상적인 상황의 처리 상태를 확인하고 시스템의 최고 성능 한게를 측정하기 위한 테스트를 의미한다.

 

ⓒSpike 테스트

▶ 갑자기 사용자가 몰렸을 때 요청이 정상적으로 처리되는지 그리고 그 업무 부하(Workload) 가 줄어들 때 정상적으로 반응하는지를 확인하기 위한 테스트를 의미한다.

 

ⓓStability 테스트/ Soak 테스트

▶ 긴 시간동안 테스트를 진행해서 테스트 시간에 따른 시스템의 메모리 증가, 성능 정보의 변화를 확인하는 테스트를 의미한다.

 

 

출처: Apache JMeter
오픈소스로 대용량 웹 서비스 성능 테스트하기

한빛미디어

장재만

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
728x90
반응형

 

 

사용자 기준의 속도측정 테스트를 통해 알게된 동영상 분석 소프트웨어 Kinovea

 

오늘은 설치하는 방법과 간단한 소프트웨어 소개를 해보겠습니다.

 

 

https://www.kinovea.org/

 

Kinovea

Support Kinovea Hi, I'm Joan Charmant, creator and developer of Kinovea. Kinovea is supported by users via Patreon. I have been working on this project in some shape or form since 2004, and I'm blown away that over the years it has been downloaded more tha

www.kinovea.org

다운로드 링크입니다.

 

Kinovea 는  스포츠 분석을 위한 비디오 플레이어지만,

 

사용자 UX 기반의 테스트를 해보려고 하다가 알게된 비디오 분석 tool 입니다.

 

일단 링크로 들어가셔서 다운로드를 누른 후

 

실행파일을 더블클릭 해줍니다.

아쉽게 도 한국어는 지원되지 않습니다.

[NEXT] 눌러주시고요.

kinovea License 에 동의해주시면 됩니다.

 

저장 파일을 지정해주시고요.

 

32.5mb 필요합니다!

 

Stat Menu Folder 를 지정해주시고 

 

Install 눌러주시면 됩니다.

설치 완료입니다.

 

간단한 사용법은 

 

다음글에 포스팅하도록 하겠습니다.

 

 

 

728x90
반응형

+ Recent posts