SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
1 / 16
내가 써본 nGrinder
2015. 04. 18
소 속 스 펙 트 라
작 성 자 임 성 현
이 메 일 sunghyun.lim@gmail.com
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)도 유용

Mais conteúdo relacionado

Mais procurados

Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPSeungmo Koo
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법Sehyeon Nam
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다Taehyun Kim
 
Massive service basic
Massive service basicMassive service basic
Massive service basicDaeMyung Kang
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해중선 곽
 
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Youngtaek Oh
 
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기OKKY
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?John Congdon
 
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우IMQA
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018devCAT Studio, NEXON
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자Yurim Jin
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Esun Kim
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유Hyojun Jeon
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템QooJuice
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 YoungSu Son
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)Seungmo Koo
 

Mais procurados (20)

Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다
NDC 2016 김태현 - 글로벌 동시 퀵 서버패치 이렇게 구축 했다
 
Massive service basic
Massive service basicMassive service basic
Massive service basic
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해서버 성능에 대한 정의와 이해
서버 성능에 대한 정의와 이해
 
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템
 
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
 
Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?Why Aren't You Using Git Flow?
Why Aren't You Using Git Flow?
 
웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우웹서버 부하테스트 실전 노하우
웹서버 부하테스트 실전 노하우
 
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
이승재, 실버바인 서버엔진 2 설계 리뷰, NDC2018
 
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
[SOSCON 2017] 주니어 개발자 5000명, 개발 해서 남 주자
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우 실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
사설 서버를 막는 방법들 (프리섭, 더이상은 Naver)
 

Semelhante a 내가써본 nGrinder-SpringCamp 2015

Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture준일 엄
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드SangIn Choung
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님NAVER D2
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가smartstudy_official
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYHyun-woo Park
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기지수 윤
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈NAVER D2
 
개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2Daniel Lim
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)Sungmin Kim
 
Tableau Conference 2018 세션 주요 내용 정리
Tableau Conference 2018 세션 주요 내용 정리Tableau Conference 2018 세션 주요 내용 정리
Tableau Conference 2018 세션 주요 내용 정리Jaeha Woo
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance TuningJi-Woong Choi
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기Miyu Park
 
어플리케이션 및 웹 개발
어플리케이션 및 웹 개발어플리케이션 및 웹 개발
어플리케이션 및 웹 개발Leonardo Taehwan Kim
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira 호정 이
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기Haechan Lee
 
2015 hi first 스터디 최종보고서
2015 hi first 스터디 최종보고서2015 hi first 스터디 최종보고서
2015 hi first 스터디 최종보고서Seongho Park
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
 
SOSCON2015 Robot Framework
SOSCON2015 Robot FrameworkSOSCON2015 Robot Framework
SOSCON2015 Robot FrameworkSung Hoon Moon
 

Semelhante a 내가써본 nGrinder-SpringCamp 2015 (20)

Build Team Foundation Architecture
Build Team Foundation ArchitectureBuild Team Foundation Architecture
Build Team Foundation Architecture
 
크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드크로스(멀티)브라우저 테스트수행가이드
크로스(멀티)브라우저 테스트수행가이드
 
Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님Spring Framework 튜토리얼 - 네이버 최영목님
Spring Framework 튜토리얼 - 네이버 최영목님
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기WEB Front-End 개발과정 살펴보기
WEB Front-End 개발과정 살펴보기
 
[123] electron 김성훈
[123] electron 김성훈[123] electron 김성훈
[123] electron 김성훈
 
개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2
 
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
KGC 2014, 'Software Enginner in Test' in Game Development (Bluehole Studio)
 
Tableau Conference 2018 세션 주요 내용 정리
Tableau Conference 2018 세션 주요 내용 정리Tableau Conference 2018 세션 주요 내용 정리
Tableau Conference 2018 세션 주요 내용 정리
 
[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning[오픈소스컨설팅]Java Performance Tuning
[오픈소스컨설팅]Java Performance Tuning
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
어플리케이션 및 웹 개발
어플리케이션 및 웹 개발어플리케이션 및 웹 개발
어플리케이션 및 웹 개발
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기
[NDC 2018] 테라 콘솔 포팅기 - UE3 게임 현세대 콘솔로 이식하기
 
2015 hi first 스터디 최종보고서
2015 hi first 스터디 최종보고서2015 hi first 스터디 최종보고서
2015 hi first 스터디 최종보고서
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
SOSCON2015 Robot Framework
SOSCON2015 Robot FrameworkSOSCON2015 Robot Framework
SOSCON2015 Robot Framework
 

Mais de Lim SungHyun

신기술도입가이드
신기술도입가이드신기술도입가이드
신기술도입가이드Lim SungHyun
 
솔루션 구축 사례를 통해 본 SW아키텍처
솔루션 구축 사례를 통해 본 SW아키텍처솔루션 구축 사례를 통해 본 SW아키텍처
솔루션 구축 사례를 통해 본 SW아키텍처Lim SungHyun
 
사례로 풀어보는 졸업작품 기획
사례로 풀어보는 졸업작품 기획사례로 풀어보는 졸업작품 기획
사례로 풀어보는 졸업작품 기획Lim SungHyun
 
공감세미나 성능테스트
공감세미나 성능테스트공감세미나 성능테스트
공감세미나 성능테스트Lim SungHyun
 
(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구Lim SungHyun
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Lim SungHyun
 

Mais de Lim SungHyun (6)

신기술도입가이드
신기술도입가이드신기술도입가이드
신기술도입가이드
 
솔루션 구축 사례를 통해 본 SW아키텍처
솔루션 구축 사례를 통해 본 SW아키텍처솔루션 구축 사례를 통해 본 SW아키텍처
솔루션 구축 사례를 통해 본 SW아키텍처
 
사례로 풀어보는 졸업작품 기획
사례로 풀어보는 졸업작품 기획사례로 풀어보는 졸업작품 기획
사례로 풀어보는 졸업작품 기획
 
공감세미나 성능테스트
공감세미나 성능테스트공감세미나 성능테스트
공감세미나 성능테스트
 
(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구
 
Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임Tr#3 5) 임성현 책임
Tr#3 5) 임성현 책임
 

내가써본 nGrinder-SpringCamp 2015

  • 1. 1 / 16 내가 써본 nGrinder 2015. 04. 18 소 속 스 펙 트 라 작 성 자 임 성 현 이 메 일 sunghyun.lim@gmail.com
  • 2. 2 / 16 강사 소개 • 프로파일 • 16년차 자바 개발자 • 상담 솔루션 개발회사 품질 총괄 • 릴리즈, 보안, 성능, 협업툴 담당 • 전자계산 조직응용 기술사 • 10년차 한이음 IT 멘토링 멘토 • 대학생 졸업작품 지도
  • 3. 3 / 16 < INTRO/시연 > 1. 동시 사용자 모델링 2. 일정/ 범위 잡기 3. 결과 보고서 준비 4. 목표 재확인 5. 설치 목차 6. 스크립트 작성 7. 테스트 실행 plan/진행 8. 결과 확인 9. 보고서 완성- Excel 10.의견 제출 < OUTRO/힌트 >
  • 4. 4 / 16 < INTRO/ 시연> •성능 테스트 언제? 왜? • SI개발 프로젝트 후반/ 제품 개발 후반 • 프로젝트를 잘 끝내고 철수하도록 •왜 nGrinder …? • 무료(=IDE = WAS = SCM = JVM) & 설치가 정말 쉽다. • 단, 저는 만든사람이 아님. 모두 알고 쓰는 것도 아님. •오늘 다룰 내용 • 설치 그 이후. 사용자 모델 ~ 의견제출까지 경험 공유
  • 5. 5 / 16 < INTRO/ 시연> •시연: Flight page(원격 서버) <-> agent, Controller(Local) 1) 테스트 대상 선정 2) 테스트 레코딩 3) 검증 및 테스트 수행 4) 결과 확인 소스 원본: http://sleeplessinslc.blogspot.kr/2012/01/spring-31-mvc-example.html
  • 6. 6 / 16 1. 동시 사용자 모델링 •튼튼한, 견고한, 죽지 않는 시스템 • 누락된 부분은…? -> 얼마나 많은 사용자에 대해서? • 힌트: 고객사, 구글 플레이, AppAnnie(유료)
  • 7. 7 / 16 2. 일정/ 범위 잡기 •인프라팀, 고객과의 약속 •환경구축, 스크립트작성, 테스트, 검토의 충분한 시간 확보
  • 8. 8 / 16 데이터 검색 데이터 생성 2. 일정/ 범위 잡기 •시나리오 흐름 예시 1 2 3 데이터 검색 데이터 검색 4 5
  • 9. 9 / 16 3. 결과 보고서 준비 •엑셀 권장 - 표와 그래프를 함께 보여주기 좋음
  • 10. 10 / 16 4. 목표 재확인 •동시 사용자 •예시: 50명 Active user à 20명/50명/80명 테스트 수행 •대상 화면(Target Page) •테스트 대상 흐름, 측정 대상 화면 확인 •측정 지표/ 목표값(TPS/ MTT) •TPS: Test Per Second •MTT: Mean Test Time
  • 11. 11 / 16 5. 설치 • 설치 서버 고려시 주의: • 테스트 하는 서버도 죽습니다. • 과도한 Traffic이 발생하면 네트워크 차단 됩니다. • Controller – Agent 사이 port 고려
  • 12. 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. 13 / 16 6. 스크립트 작성 • 스크립트 예시
  • 14. 14 / 16 7. 테스트 실행 plan/진행 •테스트를 실행할 시간대 : •주간: 개발자 도움을 받을 수 있다. 단, 반드시 주위에 공지 •야간: 테스트에 집중할 수 있다. •테스트 사이클 •테스트 실행 -> 결과 수집 -> 결과 분석 -> 재실행
  • 15. 15 / 16 8. 결과 확인 • nGrinder 페이지 • CSV 파일
  • 16. 16 / 16 9. 보고서 완성 / 의견 제출 • 어떤 graph를 만들 것인가? -> 결국 어떤 내용을 보고 판단할지가 중요
  • 17. 17 / 16 < OUTRO/힌트 > •nGrinder 쓸만한가? -> 충분하다. •스크립트 레코딩시 주의사항 -> 브라우저 업데이트, 대상이 명확하게 •동시 사용자를 감안하지 않는다면? -> •크롬 브라우저 F12(Mac에서는 cmd+option+I)도 유용