Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

내가써본 nGrinder-SpringCamp 2015

3,928 views

Published on

nGrinder 사용 경험을 공유 합니다.
특히, 툴을 사용하기 전/후 단계에 대해서도 설명 합니다.

Published in: Software

내가써본 nGrinder-SpringCamp 2015

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

×