2010/02/03 08:49

테스트 컨텍스트 프레임웍의 스테레오 타입 종류와 범위

겸사겸사 Spring의 TestContext 프레임웍을 살펴보고 있습니다. 일단 제가 좀 정리를 하고, 현재 개발하고 있는 프레임웍의 기존 800여개의 테스트 코드를 마이그레이션 할 생각입니다.

우선 클래스 상속 구조의 메소드 재정의를 통해서 구현하는 방식이었던 기존 스프링 테스트 지원 기능은
테스트 컨텍스트 프레임웍으로 넘어오면서 완전히 애노테이션을 기반으로 하는 이벤트 방식으로 변경되었습니다.

내용을 파악하는 첫 번째 방법 중의 하나가 가장 밀접하게 사용되는 스테레오타입(애노테이션)을 파악하는 일입니다.
나아가 이 애노테이션의 호출 흐름과 범위를 인식하는게 중요합니다.


그래서 간단히 정리해봤습니다.
애노테이션이 호출되는 순서대로 나열했고, 바운더리는 Test Class 수준, Test Instance 수준, Transaction 수준으로 나누었습니다.
특히나 데이터베이스와 연동하여 테스트를 할 시에는 Transaction 관련 스테레오타입의 앞 뒤를 명확히 이해하는 것이 중요합니다.


저작자 표시 비영리
Trackback 0 Comment 0
2010/01/27 14:34

스프링 강의 접수 완료합니다.

우선 적극적인 강의 신청에 감사드립니다.

공지 2시간만에 25명 정원이 차고 지금은 예비 18번(글쓰는 중에도 신청 메일이 오고 있습니다;)까지 접수된 상황으로 더 이상 접수 받는 것도 무리다 싶어 일단 접수 완료하도록 하겠습니다.

중간에 변경 사항이 발생하면 별도로 공지를 하도록 하겠습니다.
접수해주신 분들에게는 저녁에 별도로 다음 접수 방법을 안내해드리도록 하겠습니다.

감사합니다.
저작자 표시 비영리
Trackback 0 Comment 0
2010/01/27 11:00

스프링 강의 1차 접수 완료.

강의 접수 공지를 올린지 2시간 만에 25분께서 벌써 신청을 해주셨습니다.
이제 부터는 예비 후보로 접수 받도록 하겠습니다.
신청은 동일한 방식으로 해주시면 됩니다.

실제로 강의 시작 전에 개인 사정으로 취소하시는 분들도 계시니 계속 신청해주셔도 됩니다.
감사합니다.


저작자 표시 비영리
Trackback 0 Comment 0
2010/01/27 08:45

중소기업 재직자를 위한 폴리텍대학 스프링 강좌

새해를 맞이하여 폴리텍 대학 주관으로 스프링 강의를 진행합니다.
작년 2차례 진행했던 강의로 기본 내용은 기 강의 내용과 동일합니다.

이번 강의의 특징이라면 그 동안 호불호가 분명했던 6일차의 스프링 시큐리티(Spring Security) 내용을 과감히 빼고, 집중력이 가장 떨어지는 시기인 5일차를 리프레시 교육 형태로 구성했습니다. 

그래서 5일차 오전에는 스프링 3.0 소개와 스프링의 주력 테스트 지원 기능인 '테스트 컨텍스트 프레임웍'에 대해 알아보고, 오후에는 초빙강사이신 안영회님께서 다년간의 현장 지식이 녹아들어 있는 '소프트웨어 설계 워크샵'을 진행해주실 겁니다. 

기존에 5일차 강의 내용은 6일차로 옮겨저 진행되게 됩니다. 오전 내용을 조금 빠르게 진행하고, 6일차 끝나는 시점에는 가볍게 스프링을 현장에서 적용한 사례나 활용담을 공유하는 시간도 갖아 볼까 합니다.

강의 시간표와 강의에 대한 자세한 설명은 아래 링크를 참조해주시면 됩니다.


이번 강의에서는 수강 인원이 조금 더 늘어 25명을 정원으로 하고 있습니다.
이번 강의 역시 스프링 "기본" 강의를 표방하나, 절대 "기초" 강의가 아닙니다.
이번 강의에서도 즐겁고, 빡빡한 강의가 되기를 기대하고 있습니다^^.

그럼 많은 관심 부탁드리며 이만 줄이도록 하겠습니다.
감사합니다.


저작자 표시 비영리
Trackback 0 Comment 6
  1. 재은 2010/01/27 09:43 address edit & del reply

    메일 주소는 어떻게 되시는지 안 써있습니다. 알려주세요..꼭 참석하고 싶습니다.

    • BlogIcon 찬욱 2010/01/27 09:50 address edit & del

      그렇네요^^. 지적 감사합니다.
      강의 정보 보러가기> 강의 접수 방법에 제 메일주소 남겨두었습니다.
      감사합니다.

  2. 2010/01/27 10:17 address edit & del reply

    비밀댓글 입니다

    • BlogIcon 찬욱 2010/01/27 10:31 address edit & del

      빠른 신청 감사합니다.
      제가 따로 밀어드릴건 없고; 빨리 신청해주시면 되겠죠^^;

      그럼 즐거운 하루 되세요.
      감사합니다.

  3. 2010/01/28 11:20 address edit & del reply

    비밀댓글 입니다

    • BlogIcon 찬욱 2010/01/28 12:55 address edit & del

      메일로 답 드렸습니다.
      감사합니다.

2010/01/20 02:06

스크럽과 XP 부록 - 스크럼 입문서 내용 발췌

스크럽과 XP 부록을 보고 간단히 기억해야할 문구 위주로 정리해봤습니다.

현장에서 '갑'의 역할로 스크럼을 처음 접하다보니 책에서 설명하는 것과 또 다른 시각으로 생각할 수 있는 좋은 기회가 되고 있습니다. 이 내용은 따로 정리해서 공유할 수 있을 것 같습니다.

일단 책 내용을 발췌해봤습니다. (특정한 기준없이 책에 나오는 순서대로 나열했습니다. 굵은 줄도 역시나 제 생각을 기준으로 했습니다...)
# 약속했던 작업을 마무리 했는지에 관계 없이 기간을 절대로 연장하지 않는다. (타임박스(timebox))

# 스프린트가 진행되는 동안에 선택된 항목을 절대 변경하지 않는다.
- 효과 : 약속이 변경되지 않을 것이라는 확신이 있기 때문에... 팀은 정해진 일을 완료하는데만 집중, 제품 책임자는 항목 선정에 심사숙고

# 스프린트 종료 시점에 실제로 '완료'되어 작동하는 제품이 나와야 한다

# 스크럼 역할
- 제품 책임자: 제품의 기능을 식별하여 우선순위를 매겨 목록을 만들고, 우선순위를 정함
- 팀: 고객에 사용하게 될 제품을 개발
- 스크럼 마스터: 제품 그룹이 스크럼을 배우고 적용하여 비즈니스 가치를 획득하도록 도움

# 스크럼 마스터와 제품 책임자가 같은 사람이면 안 된다
# 제품 백로그는 제품의 수명이 다할 때까지 존재한다
# 제품 백로그는 오로지 하나만 존재한다
# 제품 백로그 상의 추정치는 '절대적인 단위'보다는 '점수'로 표현하는 상대적인 추정치가 일반적이다

# 스프린트 시작할 때 스프린트 계획회의를 한다
# 일일 스크럼 시에는 다음 세 가지만 보고한다
1) 지난 일일 스크럼 이후 무엇을 완료하였는가?
2) 다음 회의 때까지 무엇을 마무리할 계획인가?
3) 일하는 데 어떠한 방해나 장애요인들이 있는가?

# 스프린트의 소멸차트는 작업을 마무리하기까지 얼마만큼의 일이 남았는지 보여준다
# 매 스프린트의 5~10%를 반드시 제품 백로그를 구체화하는 작업에 할애애야 한다(반나절/2주일 1 스프린트)
# 스프린트 종료시 스프린트 검토회의를 한다
# 스크럼 마스터는 스프린트 계획 때 정한 '완료의 정의' 중 완료하지 못한 내용에 대해서는 반드시 제품 책임자에게 알려야할 책임이 있다.
# 스프린트 검토 후 스프린트 회고 활동을 한다.
# 검토 회의 중 한 가지 방법으로 '잘 되고 있는 것'과 '더 잘할 수 있었던 것'으로 나누어 생각해본다.
# 스프린트 회고 후 릴리스 백로그 및 소멸차트를 갱신한다.
# 남은 작업을 처리하기 위한 '릴리스 스프린트'가 필요할 수도 있다. 하지만 이는 스프린트 진행 상에 무언가 취약점이 있다는 증거다.


# 진정한 스크럼의 혜택은 좋은 것과 나쁜 것을 여실 없이 드러내고 조직이 스스로 수준을 향상시킬 수 있는 기회를 갖는 것이다.



저작자 표시 비영리
Trackback 0 Comment 0