nGrinder 사용 경험을 공유 합니다.
특히, 툴을 사용하기 전/후 단계에 대해서도 설명 합니다.
1 of 17
More Related Content
내가써본 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