블로그

Hudson 이나 Groovy를 사용하시나요

Clover 3.0 에서 Hudson 연동 및 Groovy 사용


골드피처㈜ 에서 Clover에 대해 이야기 합니다. 2010년 8월 4일

Clover에 대해 잘 모르신다면 다음 비디오를 잠깐 보시면 감이 잡히실 것입니다. 유의하실 점은 Clover는 Unit 테스팅 플랫폼을 기반으로 하고 있다는 점입니다. Unit 테스팅에 대해 잘 모르신다면 우선 Unit 테스트 개념 관련 글을 먼저 읽어보시기 권합니다.

짧은 버전 (약 2분)

긴 버전 (약 20분)



Groovy 에서의 코드 커버리지



만약 Groovy 혹은 Grail 을 사용한다면 Clover 를 통해 코드 커버리지를 확인하실 수 있습니다.
기존 Java에서와 동일한 코드 분석 및 유닛 테스트 결과를 GUI로 쉽게 확인하실 수 있습니다.










Hudson 과의 연동



Bamboo가 아닌 Hudson을 통해 CI를 적용하셨어도 Clover를 통해 코드 커버리지를 같이 적용 테스트 할 수 있습니다.




Clover 전체 기능 목록



양자 역학과 유닛 테스팅

Quantum Mechanics and Unit Testing

Agile에 대해서 Chris Mountford
2009년 5월 14일
제목처럼, 불확실성 이론은 아무도 소프트웨어 조각을 개발하는데 얼마의 시간이 걸릴지 모른다는 것입니다.
사실, 그렇지는 않습니다. 이것은 양자역학입니다. 아마 이해하지 못할 것입니다.
나 또한 이해하지 못할 것입니다만, 이것에 대해 블로깅을 수는 있습니다.
겉으로 보기에, 양자역학의 세계는 질량이 이루어지고 물질이 결정될때까지는 각각의 알려지지 않은 미래가 동시에 존재할 가능성입니다. 그리고 이것은 우리가 보는 실재의 세계로 될 가능한 미래 일부 위에 있습니다.
도대체 무슨 소리냐구요? 네 압니다.

일반적으로 이 미친생각은 우리가 일반적으로 상식이 매우 낮게 존재하는(통하지 않는) 서브원자 레벨에서 논의되어 집니다.
도대체 무슨 소리냐구요? 그렇다면 Schrodingers Cat을 한번 읽어보십시요.
그래서 도대체 이게 소프트웨어와 무슨 관계가 있는가?
여기 테스팅 없는 생산성에 대한 재미있는 Jason Yip의 트위터글이 있습니다:
낮은 테스팅에도 불구하고 높은 생산성의 개발자를 가지는 것은 무엇을 의미하는가?
그리고 저는 "좋은 질문" 이라고 생각했습니다. 그렇지만, 대단한 답변을 가지고 있지 않아, 그냥 내 마음속에서 스쳐 지나가도록 남겨두었습니다.
그런 후 저는 깨달았습니다. 유닛 테스팅은 기능이 존재할지 말것인지를 결정하는 일종의 질량이라는 것을. 즉, 테스트에서 실패하면 그 기능은 존재하지 않는 것입니다.
테스트되지 않은 기능은 각각의 가능한 구현단계가 동시에 가능한 양자상태에서 존재하며, 이것은 테스트가 쓰여지고 (혹은 사용자가 기능을 사용하려고 시도) 문제가이 결정될 때까지 존재합니다.
그래서 테스트되지 않은 기능이 존재하거나 혹은 존재하지 않을 수 있지만, 테스트를 작성하기 전까지는 그 사실을 알 수 없는 것입니다.