SlideShare uma empresa Scribd logo
1 de 25
Rapid Development 남기룡(birdkr@gmail.com) 마이에트 엔터테인먼트
방법론?
여기서는..
쾌속 개발을 하기 위해서는? 낭비를  제거하는 것이 핵심 7대 낭비(Lean Software Development) 미완성 작업 가외 기능 재학습 이관 작업 전환 지연 결함 회고를 통해 팀원들과 지속적으로 낭비를 찾아서 제거하자.
빌드 자동화
러시아 페인트공 알고리즘
예제 (로그인)
예제 (로그인) 서버를 실행하며 개발하는 것이 아니라 유닛 테스트를 만들면서 개발
리플레이 버그의 재현에 편하다 패킷 분석에 편하다 벤치마크 테스트 등의 여러 테스트 자동화에서 사용 사용성 테스트
리플레이 구현 Send Packet Recv Packet Replay Queue Command Queue Local 복사 Replay Queue 게임 루프 커맨드 구조  ID Data
리플레이를 이용한 패킷 분석
동영상 캡처 반디 캡처 라이브러리 사용 버그 재현에 편하다.  버그 리포트 때 동영상도 함께 올리도록 함 한 프레임씩 화면을 관찰하고 싶을 때에도 편리
지속적인 테스트 CruiseControl.Net사용 유닛 테스트 DB 테스트 네트워크 스트레스 테스트 AI 전투 테스트 성능 테스트
CruiseControl.NET에 원하는 내용 출력하기
테스트 결과 XML 로그 <?xml version="1.0"?> <maiettest-results tests=“2" failedtests=“1" failures="1" time="0.137"> 	<report text="time : 680 sec" /> 	<report text=“총 클라이언트 개수 : 4650" /> 	<test name=“로그인 반복" time="0.062" > 		<success message="success" /> 	</test> 	<test name=“캐릭터 생성 반복" time="0.062" > 		<failure message="Crash!" /> 	</test> </maiettest-results>
Dashboard의 xsl파일 설정 <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform > 	<xsl:output method="html"/> 	<xsl:template match="/"> 		<xsl:variable name="maiettest.result.list" select="/cruisecontrol/build/maiettest-results"/> 		<xsl:variable name="maiettest.report.list" select="$maiettest.result.list/report"/> 		<xsl:variable name="maiettest.case.list" select="$maiettest.result.list/test"/> 		<table class="section-table" cellpadding="2" cellspacing="0" border="0" width="98%"> 			<tr> 				<td class="sectionheader"> Maiet Test report: 				</td> 			</tr> 			<xsl:call-template name="maiettest__reportdetail"> 				<xsl:with-param name="detailnodes" select="//report"/> 			</xsl:call-template> 		</table> 		<table class="section-table" cellpadding="2" cellspacing="0" border="0" width="98%"> 			<tr> 				<td class="sectionheader" colspan="2"> Maiet Test Case results: 				</td> 			</tr> 			<xsl:call-template name="maiettest__testdetail"> 				<xsl:with-param name="detailnodes" select="//test"/> 			</xsl:call-template> 		</table> 	</xsl:template> </xsl:stylesheet>
Resource Validator 기획자나 아티스트가 입력한 컨텐츠설정값에 논리적으로 잘못된 값이 입력되었는지 검증 게임을 실행할 때마다 잘못 입력된 값이 있으면 게임에서 에러 통지 CruiseControl.Net에서 에러 통지
Resource Validator
Runtime Validator 서버 구동중에 정적 분석으로 체크할 수 없는 에러나 경고를 통지 종류 DB 쿼리 실패 성능 경고 AI 스크립트 오류 Assertion
Runtime Validator
Crash Dump Analyzer 프로그램에 치명적인 오류가 있을 경우 덤프  파일을 서버에 전송 수집된 덤프 파일을 에러난 함수 별로 분류 정기적으로 새로 올라온 덤프 파일 목록을 개발자들에게 이메일로 보고
Crash Dump Analyzer 구현 덤프 리포터 심볼 서버 구축 WinDbg의 Command-Line을 이용하여 분석 C#을 이용하여 최신 덤프 목록을 이메일로 보내는 간단한 프로그램 제작 Ccnet을 이용하여 자동화
Crash Dump Analyzer
Crash Dump Analyzer
감사합니다.

Mais conteúdo relacionado

Mais procurados

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)Jongwon Kim
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)KH Park (박경훈)
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinderJunHo Yoon
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GDG Korea
 
모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개진일 최
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415SeungBeom Ha
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기Ji Heon Kim
 
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
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅영기 김
 
(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구Lim SungHyun
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDDSunghyouk Bae
 
Test Driven Development (TDD) basic
Test Driven Development (TDD) basicTest Driven Development (TDD) basic
Test Driven Development (TDD) basicCurt Park
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질도형 임
 
116 deview2013-guitar
116 deview2013-guitar116 deview2013-guitar
116 deview2013-guitarNAVER D2
 
행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스도형 임
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례SangIn Choung
 
[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기Luavis Kang
 

Mais procurados (19)

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 
Advanced nGrinder
Advanced nGrinderAdvanced nGrinder
Advanced nGrinder
 
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
GKAC 2015 Apr. - 테스트 코드에서 코드 커버리지까지
 
모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개모바일 자동화 솔루션 Touch Test 소개
모바일 자동화 솔루션 Touch Test 소개
 
모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415모바일 앱(App) 개발 테스트 솔루션 v20160415
모바일 앱(App) 개발 테스트 솔루션 v20160415
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기
 
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)
 
TDD
TDDTDD
TDD
 
소프트웨어 테스팅
소프트웨어 테스팅소프트웨어 테스팅
소프트웨어 테스팅
 
(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구(SW 아키텍트 대회 2차)단위테스트자동화도구
(SW 아키텍트 대회 2차)단위테스트자동화도구
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDD
 
Tdd ver.2
Tdd ver.2Tdd ver.2
Tdd ver.2
 
Test Driven Development (TDD) basic
Test Driven Development (TDD) basicTest Driven Development (TDD) basic
Test Driven Development (TDD) basic
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
 
116 deview2013-guitar
116 deview2013-guitar116 deview2013-guitar
116 deview2013-guitar
 
행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스행복한 개발을 위한_테스트_케이스
행복한 개발을 위한_테스트_케이스
 
짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례짝 테스트(Pair Testing) 소개와 사례
짝 테스트(Pair Testing) 소개와 사례
 
[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기[SWMaestro 100+ 발표자료] 테스트하기
[SWMaestro 100+ 발표자료] 테스트하기
 

Destaque

All About Me Class 3-411
All About Me Class 3-411All About Me Class 3-411
All About Me Class 3-411Denise McCabe
 
Proyecto expresión oral y escriita
Proyecto expresión oral y escriitaProyecto expresión oral y escriita
Proyecto expresión oral y escriitaLorena Arboleda
 
Mapa conceptual ramon otiz
Mapa conceptual ramon otizMapa conceptual ramon otiz
Mapa conceptual ramon otizramonortiz31
 
Continuous Test
Continuous TestContinuous Test
Continuous Test기룡 남
 
Formato de garro
Formato de garroFormato de garro
Formato de garrofrailan
 
Primerosauxiliosnivelbsico 100507021837-phpapp01
Primerosauxiliosnivelbsico 100507021837-phpapp01Primerosauxiliosnivelbsico 100507021837-phpapp01
Primerosauxiliosnivelbsico 100507021837-phpapp01raquel-espin
 
Cedula carrera magisterial
Cedula carrera magisterialCedula carrera magisterial
Cedula carrera magisterialvictorfloresrios
 
All About Me Class 3-405
All About Me Class 3-405All About Me Class 3-405
All About Me Class 3-405Denise McCabe
 
Responding to change
Responding to changeResponding to change
Responding to change기룡 남
 
refactoring database
refactoring databaserefactoring database
refactoring database기룡 남
 

Destaque (14)

All About Me Class 3-411
All About Me Class 3-411All About Me Class 3-411
All About Me Class 3-411
 
Proyecto expresión oral y escriita
Proyecto expresión oral y escriitaProyecto expresión oral y escriita
Proyecto expresión oral y escriita
 
Malharia, camisetas malha fria,
Malharia, camisetas malha fria,Malharia, camisetas malha fria,
Malharia, camisetas malha fria,
 
Mapa conceptual ramon otiz
Mapa conceptual ramon otizMapa conceptual ramon otiz
Mapa conceptual ramon otiz
 
Continuous Test
Continuous TestContinuous Test
Continuous Test
 
Fs ma.306.10
Fs ma.306.10Fs ma.306.10
Fs ma.306.10
 
Formato de garro
Formato de garroFormato de garro
Formato de garro
 
Trabajo final
Trabajo finalTrabajo final
Trabajo final
 
Primerosauxiliosnivelbsico 100507021837-phpapp01
Primerosauxiliosnivelbsico 100507021837-phpapp01Primerosauxiliosnivelbsico 100507021837-phpapp01
Primerosauxiliosnivelbsico 100507021837-phpapp01
 
La gran aventura
La gran aventuraLa gran aventura
La gran aventura
 
Cedula carrera magisterial
Cedula carrera magisterialCedula carrera magisterial
Cedula carrera magisterial
 
All About Me Class 3-405
All About Me Class 3-405All About Me Class 3-405
All About Me Class 3-405
 
Responding to change
Responding to changeResponding to change
Responding to change
 
refactoring database
refactoring databaserefactoring database
refactoring database
 

Semelhante a Rapid Development

[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스철민 신
 
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdf
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdfNDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdf
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdfJongwon Kim
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션SangIn Choung
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화Jaehoon Choi
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법성훈 김
 
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기Amazon Web Services Korea
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례SangIn Choung
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 TestOkjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 Testbeom kyun choi
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규ChangKyu Song
 
Nginx Testing in NAVER
Nginx Testing in NAVERNginx Testing in NAVER
Nginx Testing in NAVER형근 송
 
How Google Tests Software (구글의 소프트웨어 테스팅)
How Google Tests Software (구글의 소프트웨어 테스팅)How Google Tests Software (구글의 소프트웨어 테스팅)
How Google Tests Software (구글의 소프트웨어 테스팅)Ye Joo Park
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startupJunHo Yoon
 
엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답SangIn Choung
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)SangIn Choung
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2tobeware
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)SangIn Choung
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기YoungSu Son
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법SangIn Choung
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기Jaeseung Ha
 

Semelhante a Rapid Development (20)

[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
 
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdf
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdfNDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdf
NDC21_게임테스트자동화5년의기록_NCSOFT_김종원.pdf
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션테스트수행사례 W통합보안솔루션
테스트수행사례 W통합보안솔루션
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법김성훈 - 뛰어난 디버거가 되는 방법
김성훈 - 뛰어난 디버거가 되는 방법
 
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기 [AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
[AWS Dev Day] 실습워크샵 | Amplify 와 AI 서비스를 활용한 서버리스 기반 소셜 안드로이드 앱 만들기
 
오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례오픈 스펙을 대상으로 한 테스트설계사례
오픈 스펙을 대상으로 한 테스트설계사례
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 TestOkjsp 13주년 발표자료: 생존 프로그래밍 Test
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
 
Nginx Testing in NAVER
Nginx Testing in NAVERNginx Testing in NAVER
Nginx Testing in NAVER
 
How Google Tests Software (구글의 소프트웨어 테스팅)
How Google Tests Software (구글의 소프트웨어 테스팅)How Google Tests Software (구글의 소프트웨어 테스팅)
How Google Tests Software (구글의 소프트웨어 테스팅)
 
practical perf testing - d2startup
practical perf testing - d2startuppractical perf testing - d2startup
practical perf testing - d2startup
 
엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답엔지니어링관점에서 테스트 개선방안 질의 응답
엔지니어링관점에서 테스트 개선방안 질의 응답
 
개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)개발이 테스트를 만났을 때(Shift left testing)
개발이 테스트를 만났을 때(Shift left testing)
 
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
투비웨어 AgitarOne Junit 단위테스트자동화 솔루션소개_201608_v1.2
 
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
(편집-테스트카페 발표자료) 1인 QA 수행사례로 발표한 자료 (W프로젝트 사례)
 
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
 
발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법발표자료 1인qa로살아남는6가지방법
발표자료 1인qa로살아남는6가지방법
 
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
[NDC2015] 언제 어디서나 프로파일링 가능한 코드네임 JYP 작성기 - 라이브 게임 배포 후에도 프로파일링 하기
 

Mais de 기룡 남

GAN을 이용한 캐릭터 리소스 제작 맛보기
GAN을 이용한 캐릭터 리소스 제작 맛보기GAN을 이용한 캐릭터 리소스 제작 맛보기
GAN을 이용한 캐릭터 리소스 제작 맛보기기룡 남
 
NDC 2015 게임 스타트업 시작하기
NDC 2015 게임 스타트업 시작하기NDC 2015 게임 스타트업 시작하기
NDC 2015 게임 스타트업 시작하기기룡 남
 
게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후기룡 남
 
게임 스타트업 시작하기
게임 스타트업 시작하기게임 스타트업 시작하기
게임 스타트업 시작하기기룡 남
 
마쉬멜로우 첼린지
마쉬멜로우 첼린지마쉬멜로우 첼린지
마쉬멜로우 첼린지기룡 남
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례기룡 남
 
Ignite Maiet 14 마이에트야구단
Ignite Maiet 14 마이에트야구단Ignite Maiet 14 마이에트야구단
Ignite Maiet 14 마이에트야구단기룡 남
 
Ignite Maiet 12 누구나 쉽게 만드는 음악
Ignite Maiet 12 누구나 쉽게 만드는 음악Ignite Maiet 12 누구나 쉽게 만드는 음악
Ignite Maiet 12 누구나 쉽게 만드는 음악기룡 남
 
Ignite Maiet 10 두근두근사파리 제작후기2
Ignite Maiet 10 두근두근사파리 제작후기2Ignite Maiet 10 두근두근사파리 제작후기2
Ignite Maiet 10 두근두근사파리 제작후기2기룡 남
 
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기기룡 남
 
Ignite Maiet 03 순정만화를 게임으로 재현하기
Ignite Maiet 03 순정만화를 게임으로 재현하기Ignite Maiet 03 순정만화를 게임으로 재현하기
Ignite Maiet 03 순정만화를 게임으로 재현하기기룡 남
 
생산적인 개발을 위한 지속적인 테스트
생산적인 개발을 위한 지속적인 테스트생산적인 개발을 위한 지속적인 테스트
생산적인 개발을 위한 지속적인 테스트기룡 남
 
KGC2007 Scrum And Xp
KGC2007 Scrum And XpKGC2007 Scrum And Xp
KGC2007 Scrum And Xp기룡 남
 
Game AI Overview
Game AI OverviewGame AI Overview
Game AI Overview기룡 남
 
Gunz Postmortem
Gunz PostmortemGunz Postmortem
Gunz Postmortem기룡 남
 

Mais de 기룡 남 (16)

GAN을 이용한 캐릭터 리소스 제작 맛보기
GAN을 이용한 캐릭터 리소스 제작 맛보기GAN을 이용한 캐릭터 리소스 제작 맛보기
GAN을 이용한 캐릭터 리소스 제작 맛보기
 
NDC 2015 게임 스타트업 시작하기
NDC 2015 게임 스타트업 시작하기NDC 2015 게임 스타트업 시작하기
NDC 2015 게임 스타트업 시작하기
 
게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후게임 스타트업 시작하기 두달 후
게임 스타트업 시작하기 두달 후
 
게임 스타트업 시작하기
게임 스타트업 시작하기게임 스타트업 시작하기
게임 스타트업 시작하기
 
마쉬멜로우 첼린지
마쉬멜로우 첼린지마쉬멜로우 첼린지
마쉬멜로우 첼린지
 
레이더즈 기술 사례
레이더즈 기술 사례레이더즈 기술 사례
레이더즈 기술 사례
 
Pm
PmPm
Pm
 
Ignite Maiet 14 마이에트야구단
Ignite Maiet 14 마이에트야구단Ignite Maiet 14 마이에트야구단
Ignite Maiet 14 마이에트야구단
 
Ignite Maiet 12 누구나 쉽게 만드는 음악
Ignite Maiet 12 누구나 쉽게 만드는 음악Ignite Maiet 12 누구나 쉽게 만드는 음악
Ignite Maiet 12 누구나 쉽게 만드는 음악
 
Ignite Maiet 10 두근두근사파리 제작후기2
Ignite Maiet 10 두근두근사파리 제작후기2Ignite Maiet 10 두근두근사파리 제작후기2
Ignite Maiet 10 두근두근사파리 제작후기2
 
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기
Ignite Maiet 07 칵테일과 함께 훈남훈녀 되기
 
Ignite Maiet 03 순정만화를 게임으로 재현하기
Ignite Maiet 03 순정만화를 게임으로 재현하기Ignite Maiet 03 순정만화를 게임으로 재현하기
Ignite Maiet 03 순정만화를 게임으로 재현하기
 
생산적인 개발을 위한 지속적인 테스트
생산적인 개발을 위한 지속적인 테스트생산적인 개발을 위한 지속적인 테스트
생산적인 개발을 위한 지속적인 테스트
 
KGC2007 Scrum And Xp
KGC2007 Scrum And XpKGC2007 Scrum And Xp
KGC2007 Scrum And Xp
 
Game AI Overview
Game AI OverviewGame AI Overview
Game AI Overview
 
Gunz Postmortem
Gunz PostmortemGunz Postmortem
Gunz Postmortem
 

Rapid Development

  • 1. Rapid Development 남기룡(birdkr@gmail.com) 마이에트 엔터테인먼트
  • 4. 쾌속 개발을 하기 위해서는? 낭비를 제거하는 것이 핵심 7대 낭비(Lean Software Development) 미완성 작업 가외 기능 재학습 이관 작업 전환 지연 결함 회고를 통해 팀원들과 지속적으로 낭비를 찾아서 제거하자.
  • 8. 예제 (로그인) 서버를 실행하며 개발하는 것이 아니라 유닛 테스트를 만들면서 개발
  • 9. 리플레이 버그의 재현에 편하다 패킷 분석에 편하다 벤치마크 테스트 등의 여러 테스트 자동화에서 사용 사용성 테스트
  • 10. 리플레이 구현 Send Packet Recv Packet Replay Queue Command Queue Local 복사 Replay Queue 게임 루프 커맨드 구조 ID Data
  • 12. 동영상 캡처 반디 캡처 라이브러리 사용 버그 재현에 편하다. 버그 리포트 때 동영상도 함께 올리도록 함 한 프레임씩 화면을 관찰하고 싶을 때에도 편리
  • 13. 지속적인 테스트 CruiseControl.Net사용 유닛 테스트 DB 테스트 네트워크 스트레스 테스트 AI 전투 테스트 성능 테스트
  • 15. 테스트 결과 XML 로그 <?xml version="1.0"?> <maiettest-results tests=“2" failedtests=“1" failures="1" time="0.137"> <report text="time : 680 sec" /> <report text=“총 클라이언트 개수 : 4650" /> <test name=“로그인 반복" time="0.062" > <success message="success" /> </test> <test name=“캐릭터 생성 반복" time="0.062" > <failure message="Crash!" /> </test> </maiettest-results>
  • 16. Dashboard의 xsl파일 설정 <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform > <xsl:output method="html"/> <xsl:template match="/"> <xsl:variable name="maiettest.result.list" select="/cruisecontrol/build/maiettest-results"/> <xsl:variable name="maiettest.report.list" select="$maiettest.result.list/report"/> <xsl:variable name="maiettest.case.list" select="$maiettest.result.list/test"/> <table class="section-table" cellpadding="2" cellspacing="0" border="0" width="98%"> <tr> <td class="sectionheader"> Maiet Test report: </td> </tr> <xsl:call-template name="maiettest__reportdetail"> <xsl:with-param name="detailnodes" select="//report"/> </xsl:call-template> </table> <table class="section-table" cellpadding="2" cellspacing="0" border="0" width="98%"> <tr> <td class="sectionheader" colspan="2"> Maiet Test Case results: </td> </tr> <xsl:call-template name="maiettest__testdetail"> <xsl:with-param name="detailnodes" select="//test"/> </xsl:call-template> </table> </xsl:template> </xsl:stylesheet>
  • 17. Resource Validator 기획자나 아티스트가 입력한 컨텐츠설정값에 논리적으로 잘못된 값이 입력되었는지 검증 게임을 실행할 때마다 잘못 입력된 값이 있으면 게임에서 에러 통지 CruiseControl.Net에서 에러 통지
  • 19. Runtime Validator 서버 구동중에 정적 분석으로 체크할 수 없는 에러나 경고를 통지 종류 DB 쿼리 실패 성능 경고 AI 스크립트 오류 Assertion
  • 21. Crash Dump Analyzer 프로그램에 치명적인 오류가 있을 경우 덤프 파일을 서버에 전송 수집된 덤프 파일을 에러난 함수 별로 분류 정기적으로 새로 올라온 덤프 파일 목록을 개발자들에게 이메일로 보고
  • 22. Crash Dump Analyzer 구현 덤프 리포터 심볼 서버 구축 WinDbg의 Command-Line을 이용하여 분석 C#을 이용하여 최신 덤프 목록을 이메일로 보내는 간단한 프로그램 제작 Ccnet을 이용하여 자동화