블로그 이미지
소프트웨어 개발 경험을 공유하고 싶은 재밌게 사는 소프트웨어 엔지니어입니다^^

카테고리

Chungha Story (41)
Agile Experience (22)
My Family (0)
Life Style (7)
Programming (8)
Android (2)
Total
Today
Yesterday

달력

« » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

2010/01/06 - [Programming Practice] - 낡은 코드(legacy code)를 어떻게 테스트 하시나요?
2009/10/31 - [Agile Experience] - 다시 시작하는 테스트주도개발(Test Driven Development)

얼마전까지 낡은 시스템을 어떻게 테스트 할지 고민하고 실행에 옮겼었습니다. 그 결과 팀내 시스템 테스트 케이스 작성을 위한 프레임워크가 생겨났고, 팀원들은 그것을 사용하여 시스템 테스트 케이스를 만들기 시작했습니다. 뿌듯!
저희는 그 다음 작업으로 통합 빌드 및 시스템 테스트 자동화를 구축하는 계획을 세웠습니다. 통합 빌드는 이미 사용중에 있었지만 좀 더 이쁘게 리포팅하도록 다듬기로 하였고, 그 결과를 바탕으로 시스템 테스트를 자동으로 돌릴 수 있도록 하였습니다.

통합 빌드 및 시스템 테스트 자동화 전체 구성

저희는 개발 서버, 테스트 서버, CI 서버(Continuous Integration)를 구성하였습니다. 
그리고 다음과 같은 순서로 간단하게 통합 빌드 및 테스트 자동화를 수행하도록 스크립트를 작성하였습니다.
  1. 시스템 테스트 서버의 시스템들을 모두 다운 시킨다.
  2. CI 서버에 있는 스크립트를 개발 서버로 보낸다.
  3. 개발서버에서 전체 통합 빌드를 수행하고 그 결과를 팀원들의 이메일로 이쁘게 리포팅 한다.
  4. 빌드완료된 바이너리를 시스템 테스트 서버로 인스톨 한다.
  5. 시스템 테스트 서버의 시스템들을 모두 동작 시킨다.
  6. 개발서버에서 시스템 테스트에 사용될 mocker를 빌드한다.
  7. mocker를 CI 서버로 다운로드 한다.
  8. mocker를 이용하여 시스템 테스트를 수행한다.
  9. 테스트 결과를 이메일로 리포팅 한다.

모든 스크립트는 파이썬으로 작성되었으며, 파일 전송은 ncftp, 이메일 전송은 ssmtp, mutt, 주기적 실행은 cron을 사용하였습니다.

다음은 저희가 만든 이메일 리포팅의 예제입니다.
MPP2.0 Daily Build Report (2010/02/03 09:43:44)
[NO] /....../MPP2.0/src/lib/ASMTEST compiling...
[OK] /....../MPP2.0/src/lib/SF compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MpGen compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MpSk compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MPkt compiling...
[OK] /....../MPP2.0/MPbase/src/lib/Pfe compiling...
[OK] /....../MPP2.0/MPbase/src/lib/Hrm compiling...
[NO] /....../MPP2.0/MPbase/src/lib/pfem compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MpUtil compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MpObj compiling...
[OK] /....../MPP2.0/MPbase/src/lib/MpCfg compiling...

Hudson이나 CruiseControl을 사용하여 형상 관리 시스템 및 위키 등과 연동해보는 것이 다음 과제 입니다.^^
노하우가 있으시다면 같이 공유해주시면 감사하겠습니다.
Posted by 윤청하
, |

2010년을 맞이해서 대대적인 조직개편이 이루어 졌고, 저희 팀 자리가 변경되었습니다.
저는 가장 먼저 떠오른 걱정이 War Board를 어디로 옮길까 였습니다. 
불행히도 변경된 자리는 비좁기로 유명한 곳이었습니다.ㅠㅠ
하지만 저희는 꿋꿋히 War Board의 위치를 저희 마음데로 통로로 선정하고 벽에 못까지 박아서 달았습니다.
결과적으로 War Board와 데일리미팅 진행은 완전히 아주 깨끗하게 공개되었습니다. 
이 통로는 개발자분들 뿐만 아니라 영업, 마케팅 등등의 분들도 다니시는 곳입니다.
본의 아니게 스크럼의 핵심 가치를 실행할 수 있었습니다.^^ 아싸~
그리고 저희 팀에서 스크럼을 한지 1년정도 되가는데 자리 이동을 계기로 더욱 견고해지는 것을 느낄 수 있었습니다. (보는 눈이 많아지니..자연스럽게..ㅋㅋ)

매일 아침 10:30에 진행하는 데일리 미팅

통로에 위치하게된 War Board!

우리의 War Board!

번다운 차트 및 돌발성/미지정 업무 관리



Posted by 윤청하
, |
꿈? 그게 어떻게 니 꿈이야? 움직이질 않는데.
그건 별이지. 하늘에 떠있는 .. 가질수도 없는 시도조차 못하는 쳐다만 봐야하는 별
누가 지금 황당무계 별나라 얘기 하제?
니가 뭔가를 해야될 꺼 아냐. 조금이라도 부딪히고 애를 쓰고 하다못해 계획이라도 세워봐야 
거기에 네 냄새든 색깔이든 발라지는 거 아냐. 
그래야 니 꿈이다 말할 수 있는 거지.
아무거나 갇다붙이면 다 니 꿈이야? 
그렇게 쉬운거면 의사, 박사, 변호사 판사 몽땅 가져다 니 꿈하지,그래?
꿈을 이루라는 소리가 아냐. 꾸기라도 해보라는 거야.
- MBC드라마 베토벤바이러스 중에서

제 꿈은 장시간의 러닝타임에도 장애(혹은 버그) 없는 소프트웨어를 개발하는 팀을 구축하는 것입니다.
그리고 제 꿈이 머나먼 별이 아니라는 것을 증명하기 위해 매일 부딪히고 애를 쓰고 있습니다.
이 꿈이 언제 어디에서 이루어 질지는 모르겠습니다. 
하지만 중요한 것은 그 꿈을 이루기 위해 제 혼신의 노력을 다하고 있다는 것이겠죠.
당신은 어떤 꿈을 꾸고 계십니까? 혹여나 그 꿈이 머나먼 별 이야기는 아닐런지요... 같이 공유했으면 좋겠네요~^^

'Life Style' 카테고리의 다른 글

리액션 부탁드립니다.  (8) 2010.02.24
개발자와 다이어트  (6) 2009.12.26
책은 깊이 읽어야 한다. 그리고 기록해야 한다.  (8) 2009.12.23
Posted by 윤청하
, |