UnitTest++을 이용한 리팩토링 데이터베이스

[개발]
데이터베이스도 리팩토링이 가능하고, 테스트 코드를 만들 수 있고, TDD가 가능하고, 자동화가 가능하다는 것을 보여주는 발표 자료..~

refactoring database
View SlideShare presentation or Upload your own.
2008/10/07 01:21 2008/10/07 01:21

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/263

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

  1. hey  [2008/10/07 11:23]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    음. 마틴 파울러 아저씨 글에서 본 내용이네요. RoR 팀들에서는 잘 작동하는 듯 싶고. 하지만 전 두려워서 실제로 적용해보진 못했어요. ^_^

    건즈2에서 실천하고 계신가요?

    • 버드 [2008/10/07 17:15]  [댓글주소]  [수정/삭제]

      네.. 열심히 적용하려고 노력하고 있습니다. 건즈2는 아니고 다른 프로젝트에요.. ^^

  2. Reiot [2008/10/07 23:59]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    제가 몇년전에 해본 DB 유닛테스트는 각각의 쿼리 마다 테스트케이스를 만들고 코드에서 모든 걸 조정하는 방식이어서 좀 피폐했던 기억이 납니다. 본문 중에 테스트 항목들이 꽤 마음에 드는군요. 좋은 자료 감사합니다. ㅎㅎ

[로그인][오픈아이디란?]

유닛 테스트 샘플 코드

[개발]

링크 : 몇가지 유닛 테스트 샘플 코드 소개

보기엔 저래도 저런 코드가 만들어지기까지 수많은 난관이 있었다.
어찌 말로 다 표현하리오.. ㅠ.ㅠ

2008/09/25 18:09 2008/09/25 18:09

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/261

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

  1. hey  [2008/09/25 18:43]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    잘 읽었습니다. :)

  2. hey  [2008/09/26 10:32]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    개발자들이 각자 샘플 코드를 공개하는 것도 많은 도움이 되겠네요.

[로그인][오픈아이디란?]

UnitTest++을 이용한 유닛테스트 10원짜리 팁

[개발]

회사 블로그에 올려놓음 - 링크


DBUnit 자체 프레임워크 만들면서 몇가지 팁을 정리해봤다. UnitTest++ 사용하고 있는 분들은 다들 비슷하게 사용하고 있을 것들이라 그냥 10원짜리 팁이다. =_=

100원짜리 팁들은 또 나중에..=3

2008/07/18 15:59 2008/07/18 15:59
TAG. ,

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/253

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

[로그인][오픈아이디란?]

유닛 테스트 관련 도전 과제, 전략

[개발]
  • 비동기, 멀티 쓰레드 문제 - 동기, 싱글 쓰레드 구조로 바꿀 수 있으면 테스트 코드에는 그렇게 바꿔서 테스트 코드를 만들고 그럴 수 없으면 만들지 않는다. 더미 클라이언트 테스트 같은 데에서 버그가 발견되길 바라는 수 밖에...
  • 머신간 상호 작용 - 네트웍쪽 Mock 객체를 제대로 만들어놓지 않아 머신간에 패킷 여러 개를 주고 받는 상황 자체를 테스트하기가 어렵다. 예를 들면 PC간 아이템 교환 전체 로직 자체를 테스트하고 싶은데 할 수가 없다. 이건 최우선 과제.
  • DB 유닛 테스트 - 데이터 베이스 자체에 대해서도 유닛 테스트를 돌리고 싶은데, DBUnit을 배워야 한다. 아니면 비슷한 걸 새로 만들던가... 문제는 DBUnit 이 JUnit 확장이라는 거. 자바 이제 가물가물 한데...=_=
  • 3D 엔진 - 이건 답 없다. 디바이스 관련된 부분은 테스트하지 않고, 클라이언트의 다른 부분이라도 테스트할 수 있도록 디바이스 관련된 부분은 최대한 모아놔서 쉽게 Mock 객체를 만들 수 있도록 한다.
  • 느린 빌드 시간 - 프로젝트가 커져 링크가 너무 오래 걸린다. 인크레디 빌드 구입하긴 또 아깝고..-_-;; 그래도 어떻게 해결하긴 해야 될 문제..
  • 테스트 커버리지 분석 - 어디 C++ 용으로 이쁜 코드 커버리지 분석 도구 없나..공짜로......ㅠ.ㅠ

유닛 테스트 이외의 테스트 자동화 - 전략은 최대한 귀찮지 않게..~ 손 두번 안가게~
  • 더미 클라이언트 - 정한 시나리오에 맞춰 또는 무작위로 패킷을 보내주는 더미 클라이언트로 스트레스 테스트 하기. 시나리오는 xml이나 스크립트로 쉽게 편집할 수 있게 한다. 더미 클라이언트 테스트는 가끔씩 직접 돌릴게 아니라 매일 일정 시간 돌아가도록 자동화한다. 결과 보고까지 해줘야 함.
  • 픽셀 테스트 - 엔진 피처가 담긴 특정 씬들을 매일 스크린샷으로 저장하여 원본과 픽셀 비교를 해서 일정 비율 이상 다르면 에러 리포트.
  • 리플레이 테스트 - 게임한 것을 리플레이로 저장하여 3DMark처럼 클라이언트 프로파일링, 분석 도구로 활용한다. 리플레이는 만들어 놨는데 xml로 뽑아주고 이쁘게 보여주도록 만드는게 귀찮구만..-_-;; 이것도 자동화해서 평균 특정 프레임이상 안나온다던지 하면 경고 리포트.


2008/05/01 00:58 2008/05/01 00:58

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/241

  1. Subject: 유닛 테스트 관련 도전 과제, 전략

    Tracked from 박피디의 게임 아키텍트 블로그 [2008/05/01 11:35]
     삭제

    birdkr 님의 글에서 (내 맘대로) 이어서 쓰기 비동기, 멀티 쓰레드 문제 - 테스트 하기 어려움. 이거 고민하느니, 다른 테스트를 만들어두자. :(DB 유닛 테스트 - DBUnit 이라... 한 번 써 봐야 겠네요...

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

  1. hey  [2008/05/02 02:33]  [댓글주소]  [수정/삭제]  [댓글쓰기]

    인크레디빌드 트라이얼이라도 요청해서 돌려보세요. 저희는 프로젝트 구조가 좀 복잡해서 인크레디빌드를 돌려도 큰 성능 향상이 없더군요. 그래서 포기했지요.
    하지만 인크레디빌드 쪽이랑 상의해보면서, 도와주려고 노력하는 게 고마ㅜ었어요.

[로그인][오픈아이디란?]

VisualUnitTest++ : UnitTest++용 VisualStudio 애드인

[개발]
예전에 UnitTest++용 VisualStudio Addin이 있었으면 좋겠다고 한 적이 있었는데, 드디어 쑥갓님이 만들어 주셨다. 아..완소 쑥갓님...

설치하고 프로젝트에 적용시키는 것도 간단하여 바로 적용해 보았는데 아래 그림처럼 너무 이쁘게 나온다. 이젠 좀 더 즐거운 프로그래밍이 될듯...쑥갓님 감사합니다. :)

사용자 삽입 이미지

2008/01/04 14:09 2008/01/04 14:09

이 글의 트랙백 주소 :: http://mypage.sarang.net/tt/trackback/225

  1. Subject: VisualUnitTest++: 단위 검사를 위한 VisualStudio Addin

    Tracked from There Must Be Better Ways [2008/01/06 23:16]
     삭제

    단위 검사를 위한 VisualStudio Addin인, VisualUnitTest++ v0.1이 나왔습니다: UnitTest++뿐 아니라, CppUnitLite, CppUnitLite2도 지원한답니다. (압박을 가해주신 윤창필 님께 감사.) 다만 Addin이다 보니 버그가 있..

::: 사람과 사람의 교감! 人터넷의 첫 시작! 댓글을 달아주세요! :::

[로그인][오픈아이디란?]