728x90
반응형

 

2019년 3월 7일에 작성한 제 게시글 중 가장 인기가 많은 게시글 중 하나인 

 

https://ddanx2.tistory.com/96

 

실무에서 쓰이는 ad-hoc testing, 그리고 random testing

오랜만에 QA 관련 글을 포스팅 해봅니다. QA 업무를 진행하다보면 테스트 케이스를 모두 수행한 프로젝트에 대해 종종 ad hoc testing을 진행하곤 합니다. ad hoc의 사전의미는 입니다. 즉, 다시 정리해

ddanx2.tistory.com

 

실무에서 쓰이는 ad-hoc testing, 그리고 random testing에 관련된 글이 있습니다.

 

이때는 QA 경력이 1년차일때, QA 보다는 Tester에 가까운 입장에서 쓴 글이었습니다.

 

그러나 지금은 하나의 part를 관리하는 part manager 로써 Ad-hoc testing에 관한 제 생각을 써보려고 합니다.

 

그때 제가 Ad-hoc testing에 대해 마지막으로 제 생각을 적었는데요 한번 보겠습니다.

 

 

이때 제가 쓴 글을 하나하나 분석해보겠습니다.

 

제 생각은 프로젝트의 테스트 케이스 수행을 마무리 한 단계에서 예상치 못한 결함을 도출할 때는 Ad hoc, Random testing 둘 다 진행해도 좋다고 생각됩니다.
이 때는 Ad-hoc testing의 매력을 느끼지 못한 상태에서 단순 사전적 의미로 분석하고 제 생각을 적었었는데요.

사실 이때는 Tester의 입장에서 작성해서 둘 다 진행해도 좋다고 썼습니다. 

두 가지 테스트 방법을 동일선상에서 생각했기 때문이죠.

그러나 적재적소에 맞는 Testing 방법이 있습니다. 본인이 판단하기에 Ad-hoc Testing이 필요한 경우에는 Ad-hoc testing을 진행하면 되고, Random Testing 이 필요한 경우에는 Random Testing을 진행하면 됩니다.

다만 제가 하고자 했던 말의 요점은 Ad-hoc Testing 안에 Random Testing 이 포함된다고 느꼈기 때문에 저런 워딩이 나왔다고 생각됩니다.

 

그러나 기간이 촉박한 프로젝트에서는 모든 Testcase를 수행한 이후 Ad hoc testing 만 진행하는 게 맞다고 생각됩니다.
기간이 촉박하고 일정을 미룰 수 없을 때, Random testing을 통해 임의의 값을 입력하여 결함을 찾아냈을 때
결함 보고까지의 범위를 측정하는 시간이 많이 소요된다고 생각합니다.
이 부분을 작성한 이유는 제가 업무를 할 때 1~2달 사이의 프로젝트 업무를 많이 진행하였습니다.

3일 정도의 기획서 리뷰 기간을 가진 후 5일 정도 Testcase를 작성했습니다.

명세 기반의 Testcase를 작성하다 보면 느끼는 점이 많은데요.

사실 명세서는 유저의 요구사항이나, 유관부서의 요구사항이 반영되어있다고 하더라도 

소프트웨어의 품질을 높이는 데에는 한계가 있습니다.

어떻게 보면 사용설명서 같은 느낌으로 정해진 Step과 정해진 Result 가 나오기 때문입니다.

그래서 정해지지 않은 Step으로 진행하였을 때 소프트웨어 특성상 예기치 못한 Result 가 나오기 때문에

Ad-hoc testing을 진행해야 한다고 생각했던 것 같습니다.

그리고 이 생각을 뒷받침하는 근거로 실제 제가 근무하는 환경에서 Ad-hoc testing으로 나온 critical 한 이슈가 많았기 때문에 더욱더 그렇게 생각한 것 같네요.

 

그리고 Random testing의 정의를 봐도 일정이 촉박하면 테스트 케이스를 설계하여 문서화할 시간도 없다고 생각됩니다.
그래서 Ad hoc testing 만 단독으로 진행할 때는 프로젝트의 규모가 작아야겠죠..?
이 부분의 생각은 3년이 지난 지금 많이 바뀌었습니다.

2019년에 간과했던 부분은 Ad-hoc Testing을 진행할 때, Tester 나 QA 엔지니어의 역량이라는 필수 요소를 배제했었던 점이 가장 크게 작용했는데요.

Ad-hoc testing을 매력적으로 보는 이유는 보이지 않는 "역량"에 따라 결과물이 달라지기 때문입니다.

Part manager가 된 지금 QA Team을 구성할 때 제일 먼저 보는 것이 구성원의 경력입니다.

예를 들면,  신입직원, 1년 차, 3년 차, 5년 차 총 4명의 테스터가 있다고 한다면, 저는 신입직원, 5년 차의 Ad-hoc testing 의 결과에 주목할 것입니다.

왜 신입직원의 testing 결과를 주목할 것이냐 의문을 가지실 수 있는데요.

Testing 경력이 얼마 없기 때문에 고정관념이 없고, 예외적인 시도에 대해 열려 있기 때문입니다.

그리고 5년차의 Testing을 주목하는 이유는 베테랑 테스터의 실력을 믿기도 하는 것이지요.

물론 경력이 테스팅 역량을 대변해 줄 수 있는 수단은 아니지만 위험성을 줄일 수 있기 때문에 업무 분배에 참고하고 있습니다.

그래서 제가 하고 싶은 말은

"역량"이 높은 사람은 일정이 촉박해도 Testcase 나 CheckList 설계가 가능하며 동시에 Testing 도 무사히 마칠 수 있습니다.

그래서 Ad-hoc Testing 만 단독으로 진행할 필요가 없다고 생각이 바뀌었습니다.

아래 관련 게시글을 보면서 더 이어나가겠습니다.

https://ddanx2.tistory.com/125

 

내가 Flow Chart 기반으로 Test case, Scenario 작성하는 법과 그 이유

실무를 할 때, 요구사항 명세서 (기획서) 기반으로 Testcase를 설계하는 경우가 많습니다. 그래서 업무를하면서 과장하면 100개 이상의 기획서를 확인했다고 해도 과언이 아닐 정도인데요. 같은 기

ddanx2.tistory.com

제가 Flow Chart 기반으로 Test Case를 작성하는 방법에 대해 공유한 적이 있습니다.

주로 기획문서가 없는 소프트웨어에 대해 Testing을 진행할 때 사용하는데요.

옛날에는 기획문서가 없는 소프트웨어에 대해 Ad-hoc Testing으로만 진행될 수 있다고 말했지만

이제는 역으로 기획문서가 없어도 소프트웨어를 보고 Flow Chart를 작성할 수 있고, 그 Flow Chart 를 기반으로 Test case , Scenario 등 여러 문서를 작성할 수 있는 실력을 갖추었습니다.

그래서 2019 년과는 다르게 Ad-hoc Testing 만 단독으로 진행할 필요가 없다고 말하고 싶습니다.

 

결국 지금 와서 생각해보면 2019년의 제 QA 역량과, 2022년의 제 QA 역량이 다르고 그만큼 성장했기 때문에 생각이 바뀌었다고 볼 수 있습니다.

 

이제 또 3년 뒤에 저는 해당 글을 다시 가지고 와서 2025년에 작성하는 Ad-hoc testing에 대한 나의 생각 이런 식으로 포스팅을 할 수도 있겠네요.

 

아무튼 밤에 두서없이 쓴 글이긴 하지만 읽어주셔서 감사합니다.

 

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

 

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

안녕하세요!!

 

이번에는 Pairwise Testing 에는 어떤 Tool 이 있는지 알아보고

 

대표적인 Tool 소개와 Tool을 다운받을 수 있는 링크를 첨부하였습니다.

 

Tool 소개 및 링크

https://www.pairwise.org/tools.asp

에서 이와같은 페이지를 찾아볼 수 있고 다운로드 받을 수 있습니다.

728x90
반응형
728x90
반응형

안녕하세요

 

저번 Pairwise Testing 원리에 이은 두번째 시간은

 

CIT 기법에 관한 정리입니다.

CIT 기법 및 Sampling Test Case 정의

 

728x90
반응형
728x90
반응형


오랜만에 QA 관련 글을 포스팅해봅니다.

QA 업무를 진행하다 보면

테스트 케이스를 모두 수행한 프로젝트에 대해 종종 ad hoc testing을 진행하곤 합니다.


ad hoc의 사전 의미는


입니다.

즉, 다시 정리해서 말하자면

비공식적으로 수행하는 테스팅이다.

 

공식적인 테스트 준비 작업 없이, 공인된 테스트 설계 기법을 적용하지 않고, 예상 결과를 사전에 정의하지 않고, 자의적이고 임의적으로 실행하는 테스트 활동을 의미한다.

 

실 업무에서 설계한 테스트 케이스를 모두 마친 후, 말 그대로 예상 결과를 정의하지 않고 테스트를 하다 보면

소프트웨어 특성상 결함이 발생될 수 있기 때문입니다.

실제로도 AD-HOC testing에서 발생된 결함은 예상외의 결과를 가져다 주기 때문에 결함의 중요도가 크리티컬 하거나 또는 엄청 마이너 하게 나타나지요.

그리고 저도 헷갈렸지만. 흔히들 하는 실수로

랜덤 테스팅 (Random testing)과 애드 혹 테스팅(ad hoc testing)을 동일 의미로 사용하는 경우가 많습니다.

의미상은 비슷한 것 같지만

테스팅적으로 깊게 들어가자면 엄연히 다른 내용입니다.

테스트 케이스를 설계할 때, 특정 범위나 값, 집합에 대해서 동등 분할, 경곗값을 등을 주고 테스트 케이스를 설계하고 수행하게 됩니다.

근데 Random testing은 테스트 설계 기법을 통해 입력값을 따로 설정해 주지 않고 임의로 값을 선택해서 수행하는 방법입니다.

어떻게 보면 비슷한 기법이지만 미묘한 차이가 있다는 점을 알아주셨으면 좋겠습니다.



그렇다면,

Ad hoc testing , Random testing은 언제 이루어져야 할까요?

프로젝트의 테스트 케이스 수행을 마무리 한 단계에서 예상치 못한 결함을 도출할 때?

아니면 기간이 촉박한 프로젝트에서 테스트 케이스 수행이 어려울 때?

기획문서가 없는 소프트웨어의 테스트를 진행할 때?

모두 사용 가능합니다. 물론 다른방법도 있으니 Ad hoc testing 이 최선의 방법은 아니라는 점!!

제 생각은 프로젝트의 테스트 케이스 수행을 마무리 한 단계에서 예상치 못한 결함을 도출할 때는 Ad hoc, Random testing 둘 다 진행해도 좋다고 생각됩니다.

그러나 기간이 촉박한 프로젝트에서는 모든 Testcase를 수행한 이후 Ad hoc testing 만 진행하는 게 맞다고 생각됩니다.

기간이 촉박하고 일정을 미룰 수 없을 때, Random testing을 통해 임의의 값을 입력하여 결함을 찾아냈을 때

결함 보고까지의 범위를 측정하는 시간이 많이 소요된다고 생각합니다.

그리고 Random testing의 정의를 봐도 일정이 촉박하면 테스트 케이스를 설계하여 문서화할 시간도 없다고 생각됩니다.

 

그래서 Ad hoc testing 만 단독으로 진행할 때는 프로젝트의 규모가 작아야겠죠..?


이상입니다..

피드백 환영입니다.!!


++ 2022년에 해당 글에 대한 제 생각을 적은 게시글입니다.
https://ddanx2.tistory.com/133

 

2022년이되서 작성하는 Ad-hoc testing 에 대한 생각

2019년 3월 7일에 작성한 제 게시글 중 가장 인기가 많은 게시글 중 하나인 https://ddanx2.tistory.com/96 실무에서 쓰이는 ad-hoc testing, 그리고 random testing 오랜만에 QA 관련 글을 포스팅 해봅니다. QA..

ddanx2.tistory.com

 

 

 

728x90
반응형

+ Recent posts