SlideShare a Scribd company logo
1 of 9
Download to read offline
스마트 디바이스를 위한
스마트한 테스트 환경 구축
2011-07-20
스마트스터디 박현우 @lqez
http://smartstudy.co.kr
스마트라니... 아... 너무 멋지다.
서버를 만들었습니다.
● 처음엔 '당연히' 잘 동작합니다.
● 서비스 개선을 위해 서버를 수정합니다.
● 하지만 '당연히' 문제가 생깁니다.
○ 서버에서 문제를 바로 고칩니다.
○ 문제가 더 커집니다.
○ 유저가 떠납니다.
○ 아... 망했어요.
● 그래서 테스트 환경을 만드는 것이 중요합니다.
별로 설득력은 없지만...
어제까지 우린...
● 테스트는 보통 다음과 같이 진행해 왔습니다.
○ 실제 서비스 환경과 같은 형태를 하나 더 만듭니다.
○ IP 주소나 도메인 네임을 바꿔 접속합니다. 
■ beta.killerjoe.com 또는 설정 파일의 IP주소 수정
■ 윈도우에선 hosts 파일을 수정하기도 했죠.
○ beta에서 테스트를 진행합니다.
○ 테스트가 끝나면 실제 서버로 데이터를 복제합니다.
○ 실제 서버에 업로드하고 다시 테스트를 진행합니다.
■ 설정 파일등에 수정했던 내용을 다시 복원합니다.
■ ...심지어 클라이언트도 다시 받아야 합니다.
● 테스트 대상자가 많으면 많을 수록 잘 진행하기가 정말 어렵습니다. 그리고 무엇
보다...
아 귀찮아
앞으론 이렇게.
● 서버를 지정할 때 IP 대신 도메인 네임으로
○ 왜요?
■ 도메인 네임으로 서버를 접속하게 하면 DNS 수정을 통해 테스트 환경으
로의 접속이 용이.
■ 테스트 대상이 되는 사용자에게 베타에 접속하기 위해 설정파일을 수정
해 달라느니, 별도의 배치 파일을 배포하는 등의 복잡한 절차를 없앨 수
있습니다.
■ 아이폰과 같은 기기는 베타 서버에 접속하기 위한 베타 버전 클라이언트
를 일일히 배포하는 일이 만만치 않습니다. 해보신 분은 아실 듯...
○ DNS가 안될 수도 있으니 IP 지정하는게 낫지 않나요?
■ 그 정도면 애초에 정상적인 서비스나 테스트가 안될겁니다.
서버 환경 구성
Test
Real
Server #1 Server #2
MySQL
Master
MySQL
Slave
mongoDB
Master
mongoDB
Slave
Server
MySQL
mongoDB
Fake
AP
Fake DNS
AP
DNS
이렇게
● Fake AP에 접속시,
○ Fake AP는 Fake DNS를 가리키고 있으므로, 해당 AP에 접속한 사용자도 Fake
DNS를 사용하게 됨.
■ 사용자 디바이스 내의 DNS cache등의 잠재적인 문제가 있을 수도 있으
나, AP를 바꿔가며 테스트 해봐도 괜찮음.
○ Fake DNS는 리얼 환경에서 사용중인 도메인에 대해 전부 테스트 환경의 서버
를 가리키도록 설정되어 있음.
■ 서버들도 도메인 네임을 통해 DB 및 기타 서버를 가리키게 해야 구성하기
가 용이함.
결론
● 실제로 해보니 편합니다.
○ 아이폰/아이패드 등 설정을 변경하기 힘든 기기에서도 손쉽게 테스트 환경에
접속할 수 있어 좋습니다.
○ 테스트 대상자도 덜 귀찮습니다.
● 테스트 세트가 많아져도 부담이 적습니다.
○ Alpha / Beta / Gamma 또 뭐 있죠?
○ 아무튼 Fake AP와 Fake DNS 세트만 추가하면 끝.
○ 게다가 요즘 무선 공유기 무척 쌉니다. ( 2만원 초반대 )
● 꼭 해보세요!

More Related Content

Viewers also liked

안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)Booseol Shin
 
Support Design Library
Support Design LibrarySupport Design Library
Support Design LibraryTaeho Kim
 
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.민석 김
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습Hyun-woo Park
 
Material design 3분 만에 살펴보기
Material design 3분 만에 살펴보기Material design 3분 만에 살펴보기
Material design 3분 만에 살펴보기Doran Hwang
 
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기위키북스
 
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트mosaicnet
 
모바일 서비스 기획 시작하기
모바일 서비스 기획 시작하기모바일 서비스 기획 시작하기
모바일 서비스 기획 시작하기Jae-hyung Park
 
앱 디자인 시작하기
앱 디자인 시작하기앱 디자인 시작하기
앱 디자인 시작하기Sangho Lee
 
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'KTH, 케이티하이텔
 
제일기획 이마트 기획서
제일기획 이마트 기획서제일기획 이마트 기획서
제일기획 이마트 기획서Yerim An
 
«Android Design Library. Внедрение material-дизайна». Максим Юдин
«Android Design Library. Внедрение material-дизайна».  Максим Юдин«Android Design Library. Внедрение material-дизайна».  Максим Юдин
«Android Design Library. Внедрение material-дизайна». Максим ЮдинDataArt
 

Viewers also liked (12)

안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
안드로이드 머터리얼 디자인 기반의 앱 레이아웃 가이드 (1)
 
Support Design Library
Support Design LibrarySupport Design Library
Support Design Library
 
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.
채용도 서비스다. 2013 스마트스터디 채용 과정에 대한 지원자 지표 분석.
 
The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습The MongoDB Strikes Back / MongoDB 의 역습
The MongoDB Strikes Back / MongoDB 의 역습
 
Material design 3분 만에 살펴보기
Material design 3분 만에 살펴보기Material design 3분 만에 살펴보기
Material design 3분 만에 살펴보기
 
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
앱 인벤터 2: 비전공자를 위한 안드로이드 앱 만들기
 
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트
사례로 본 모바일 웹/앱 기획, 제작 과정 및 포인트
 
모바일 서비스 기획 시작하기
모바일 서비스 기획 시작하기모바일 서비스 기획 시작하기
모바일 서비스 기획 시작하기
 
앱 디자인 시작하기
앱 디자인 시작하기앱 디자인 시작하기
앱 디자인 시작하기
 
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
[H3 2012] 기획/디자인/개발자 모두 알아야 하는 '대박앱의 비밀'
 
제일기획 이마트 기획서
제일기획 이마트 기획서제일기획 이마트 기획서
제일기획 이마트 기획서
 
«Android Design Library. Внедрение material-дизайна». Максим Юдин
«Android Design Library. Внедрение material-дизайна».  Максим Юдин«Android Design Library. Внедрение material-дизайна».  Максим Юдин
«Android Design Library. Внедрение material-дизайна». Максим Юдин
 

More from Hyun-woo Park

2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분Hyun-woo Park
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the BasicHyun-woo Park
 
그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라Hyun-woo Park
 
2016년 10월 파이썬 사용자 모임 오프닝
2016년 10월 파이썬 사용자 모임 오프닝2016년 10월 파이썬 사용자 모임 오프닝
2016년 10월 파이썬 사용자 모임 오프닝Hyun-woo Park
 
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기Hyun-woo Park
 
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 CoverallsHyun-woo Park
 
WE HAVE ALMOST NOTHING, SMARTSTUDY
WE HAVE ALMOST NOTHING, SMARTSTUDYWE HAVE ALMOST NOTHING, SMARTSTUDY
WE HAVE ALMOST NOTHING, SMARTSTUDYHyun-woo Park
 
Django in Production
Django in ProductionDjango in Production
Django in ProductionHyun-woo Park
 
파이콘 한국 2015 디자인 후기
파이콘 한국 2015 디자인 후기파이콘 한국 2015 디자인 후기
파이콘 한국 2015 디자인 후기Hyun-woo Park
 
Dive into OpenSource
Dive into OpenSourceDive into OpenSource
Dive into OpenSourceHyun-woo Park
 
그릇된 팬심의 어긋난 결말
그릇된 팬심의 어긋난 결말그릇된 팬심의 어긋난 결말
그릇된 팬심의 어긋난 결말Hyun-woo Park
 
스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기Hyun-woo Park
 
SMARTSTUDY Django 오픈 세션 2012-08
SMARTSTUDY Django 오픈 세션 2012-08SMARTSTUDY Django 오픈 세션 2012-08
SMARTSTUDY Django 오픈 세션 2012-08Hyun-woo Park
 

More from Hyun-woo Park (13)

2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분
 
파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic파이콘 한국 2017 키노트 : Back to the Basic
파이콘 한국 2017 키노트 : Back to the Basic
 
그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라그런데 스타트업이 뭐더라
그런데 스타트업이 뭐더라
 
2016년 10월 파이썬 사용자 모임 오프닝
2016년 10월 파이썬 사용자 모임 오프닝2016년 10월 파이썬 사용자 모임 오프닝
2016년 10월 파이썬 사용자 모임 오프닝
 
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기
Tox, Travis 그리고 Codecov 로 오픈소스 생태계에 기여하기
 
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls파이썬 삼총사 : Tox, Travis 그리고 Coveralls
파이썬 삼총사 : Tox, Travis 그리고 Coveralls
 
WE HAVE ALMOST NOTHING, SMARTSTUDY
WE HAVE ALMOST NOTHING, SMARTSTUDYWE HAVE ALMOST NOTHING, SMARTSTUDY
WE HAVE ALMOST NOTHING, SMARTSTUDY
 
Django in Production
Django in ProductionDjango in Production
Django in Production
 
파이콘 한국 2015 디자인 후기
파이콘 한국 2015 디자인 후기파이콘 한국 2015 디자인 후기
파이콘 한국 2015 디자인 후기
 
Dive into OpenSource
Dive into OpenSourceDive into OpenSource
Dive into OpenSource
 
그릇된 팬심의 어긋난 결말
그릇된 팬심의 어긋난 결말그릇된 팬심의 어긋난 결말
그릇된 팬심의 어긋난 결말
 
스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기스타트업에서 기술책임자로 살아가기
스타트업에서 기술책임자로 살아가기
 
SMARTSTUDY Django 오픈 세션 2012-08
SMARTSTUDY Django 오픈 세션 2012-08SMARTSTUDY Django 오픈 세션 2012-08
SMARTSTUDY Django 오픈 세션 2012-08
 

스마트 디바이스를 위한 테스트 환경 구축

  • 1. 스마트 디바이스를 위한 스마트한 테스트 환경 구축 2011-07-20 스마트스터디 박현우 @lqez http://smartstudy.co.kr
  • 3. 서버를 만들었습니다. ● 처음엔 '당연히' 잘 동작합니다. ● 서비스 개선을 위해 서버를 수정합니다. ● 하지만 '당연히' 문제가 생깁니다. ○ 서버에서 문제를 바로 고칩니다. ○ 문제가 더 커집니다. ○ 유저가 떠납니다. ○ 아... 망했어요. ● 그래서 테스트 환경을 만드는 것이 중요합니다. 별로 설득력은 없지만...
  • 4. 어제까지 우린... ● 테스트는 보통 다음과 같이 진행해 왔습니다. ○ 실제 서비스 환경과 같은 형태를 하나 더 만듭니다. ○ IP 주소나 도메인 네임을 바꿔 접속합니다.  ■ beta.killerjoe.com 또는 설정 파일의 IP주소 수정 ■ 윈도우에선 hosts 파일을 수정하기도 했죠. ○ beta에서 테스트를 진행합니다. ○ 테스트가 끝나면 실제 서버로 데이터를 복제합니다. ○ 실제 서버에 업로드하고 다시 테스트를 진행합니다. ■ 설정 파일등에 수정했던 내용을 다시 복원합니다. ■ ...심지어 클라이언트도 다시 받아야 합니다. ● 테스트 대상자가 많으면 많을 수록 잘 진행하기가 정말 어렵습니다. 그리고 무엇 보다...
  • 6. 앞으론 이렇게. ● 서버를 지정할 때 IP 대신 도메인 네임으로 ○ 왜요? ■ 도메인 네임으로 서버를 접속하게 하면 DNS 수정을 통해 테스트 환경으 로의 접속이 용이. ■ 테스트 대상이 되는 사용자에게 베타에 접속하기 위해 설정파일을 수정 해 달라느니, 별도의 배치 파일을 배포하는 등의 복잡한 절차를 없앨 수 있습니다. ■ 아이폰과 같은 기기는 베타 서버에 접속하기 위한 베타 버전 클라이언트 를 일일히 배포하는 일이 만만치 않습니다. 해보신 분은 아실 듯... ○ DNS가 안될 수도 있으니 IP 지정하는게 낫지 않나요? ■ 그 정도면 애초에 정상적인 서비스나 테스트가 안될겁니다.
  • 7. 서버 환경 구성 Test Real Server #1 Server #2 MySQL Master MySQL Slave mongoDB Master mongoDB Slave Server MySQL mongoDB Fake AP Fake DNS AP DNS
  • 8. 이렇게 ● Fake AP에 접속시, ○ Fake AP는 Fake DNS를 가리키고 있으므로, 해당 AP에 접속한 사용자도 Fake DNS를 사용하게 됨. ■ 사용자 디바이스 내의 DNS cache등의 잠재적인 문제가 있을 수도 있으 나, AP를 바꿔가며 테스트 해봐도 괜찮음. ○ Fake DNS는 리얼 환경에서 사용중인 도메인에 대해 전부 테스트 환경의 서버 를 가리키도록 설정되어 있음. ■ 서버들도 도메인 네임을 통해 DB 및 기타 서버를 가리키게 해야 구성하기 가 용이함.
  • 9. 결론 ● 실제로 해보니 편합니다. ○ 아이폰/아이패드 등 설정을 변경하기 힘든 기기에서도 손쉽게 테스트 환경에 접속할 수 있어 좋습니다. ○ 테스트 대상자도 덜 귀찮습니다. ● 테스트 세트가 많아져도 부담이 적습니다. ○ Alpha / Beta / Gamma 또 뭐 있죠? ○ 아무튼 Fake AP와 Fake DNS 세트만 추가하면 끝. ○ 게다가 요즘 무선 공유기 무척 쌉니다. ( 2만원 초반대 ) ● 꼭 해보세요!