17
1 / 16 내가 써본 nGrinder 2015. 04. 18 sunghyun .lim@gmail. com

내가써본 nGrinder-SpringCamp 2015

Embed Size (px)

Citation preview

1 / 16

내가 써본 nGrinder

2015. 04. 18

소 속 스 펙 트 라

작 성 자 임 성 현

이 메 일 [email protected]

2 / 16

강사 소개• 프로파일

• 16년차 자바 개발자

• 상담 솔루션 개발회사 품질 총괄

• 릴리즈, 보안, 성능, 협업툴 담당

• 전자계산 조직응용 기술사

• 10년차 한이음 IT 멘토링 멘토

• 대학생 졸업작품 지도

3 / 16

< INTRO/시연 >

1. 동시 사용자 모델링

2. 일정/ 범위 잡기

3. 결과 보고서 준비

4. 목표 재확인

5. 설치

목차

6. 스크립트 작성

7. 테스트 실행 plan/진행

8. 결과 확인

9. 보고서 완성- Excel

10.의견 제출

< OUTRO/힌트 >

4 / 16

< INTRO/ 시연>

•성능 테스트 언제? 왜?

• SI개발 프로젝트 후반/ 제품 개발 후반

• 프로젝트를 잘 끝내고 철수하도록

•왜 nGrinder …?

• 무료(=IDE = WAS = SCM = JVM) & 설치가 정말 쉽다.

• 단, 저는 만든사람이 아님. 모두 알고 쓰는 것도 아님.

•오늘 다룰 내용

• 설치 그 이후. 사용자 모델 ~ 의견제출까지 경험 공유

5 / 16

< INTRO/ 시연>

•시연: Flight page(원격 서버) <-> agent, Controller(Local)

1) 테스트 대상 선정

2) 테스트 레코딩

3) 검증 및 테스트 수행

4) 결과 확인

소스 원본: http://sleeplessinslc.blogspot.kr/2012/01/spring-31-mvc-example.html

6 / 16

1. 동시 사용자 모델링

•튼튼한, 견고한, 죽지 않는 시스템

• 누락된 부분은…? -> 얼마나 많은 사용자에 대해서?

• 힌트: 고객사, 구글 플레이, AppAnnie(유료)

7 / 16

2. 일정/ 범위 잡기

•인프라팀, 고객과의 약속

•환경구축, 스크립트작성, 테스트, 검토의 충분한 시간 확보

8 / 16

데이터 검색 데이터 생성

2. 일정/ 범위 잡기•시나리오 흐름 예시

1 2 3

데이터 검색 데이터 검색

4 5

9 / 16

3. 결과 보고서 준비•엑셀 권장 - 표와 그래프를 함께 보여주기 좋음

10 / 16

4. 목표 재확인

•동시 사용자

•예시: 50명 Active user

à 20명/50명/80명 테스트 수행

•대상 화면(Target Page)

•테스트 대상 흐름, 측정 대상 화면 확인

•측정 지표/ 목표값(TPS/ MTT)

•TPS: Test Per Second

•MTT: Mean Test Time

11 / 16

5. 설치

•설치 서버 고려시 주의:

• 테스트 하는 서버도 죽습니다.

• 과도한 Traffic이 발생하면 네트워크 차단 됩니다.

•Controller – Agent

사이 port 고려

12 / 16

6. 스크립트 작성

•스크립트 작성 전략 : Record or Manual…?

- image/static page (자연스런 noise) 추가 여부

- 사용자 계정/ session 처리 등 dynamic 스크립트

•레코더: TCPProxy

• The Grinder에 있는 jython 레코더(Grinder 3.1 이상 권장)

• 쉽게 사용 가능하나, 결과물이 매우 복잡함java -cp "grinder-3.11/lib/*" net.grinder.TCPProxy -console -http > script.py

13 / 16

6. 스크립트 작성•스크립트 예시

14 / 16

7. 테스트 실행 plan/진행

•테스트를 실행할 시간대 :

•주간: 개발자 도움을 받을 수 있다.

단, 반드시 주위에 공지

•야간: 테스트에 집중할 수 있다.

•테스트 사이클

•테스트 실행 -> 결과 수집 -> 결과 분석 -> 재실행

15 / 16

8. 결과 확인•nGrinder 페이지

•CSV 파일

16 / 16

9. 보고서 완성 / 의견 제출

•어떤 graph를 만들 것인가?

-> 결국 어떤 내용을 보고 판단할지가 중요

17 / 16

< OUTRO/힌트 >

•nGrinder 쓸만한가? -> 충분하다.

•스크립트 레코딩시 주의사항 -> 브라우저 업데이트, 대상이 명확하게

•동시 사용자를 감안하지 않는다면? ->

•크롬 브라우저 F12(Mac에서는 cmd+option+I)도 유용