ALM 139

Code Inspection Tools

Code inspection tools 정적 분석 툴이라고도 이야기 하는데... 모냐 하면 소스코드나 컴파일된 클래스를 넣으면 코드 상에서 발생할 수 있는 예상 되는 버그를 알려주는 것이다. (정적으로 소스 코드를 분석해서..) 예를 들어 1: Address addr = get Address("bcho"); 2: if(addr != null){ addr.sendGift("Money");} 3: addr.verify(); 위의 코드는 addr이 NULL일때 3번 라인에서 Null Pointer Exception(NPE)가 발생할 수 있다. 실행하지 않아도 예측할 수 있는 내용이다. 이런 위험성이외에도 MultiThreading 에서 Lock문제나 단순하게 Class 명명 규칙을 벗어난 경우 등등 이런 여러..

개발환경 자동화 환경

CI(Hudson) Test(JUnit,Cactus,DBUnit,Cobertura,Japex) Source mgmt(SVN) Issue tracking(Mantis) 현재 여기까지 구현해봤는데.. 앞으로 해보고 싶은것 1. Hudson Master/slave mode 2. Team City - http://www.jetbrains.com/teamcity 이거 박재성 팀장님이 사용하시는것 같은데.. 다음에 기회되면 한번 사용해보고 싶긴하다. 3. Mylyn을 이용한 연동 (이클립스 버전땜에 잘 못하고 있었는데...) 아무래도 TeamCity 가 이클립스와 연동되는 기능이 강력해서 좋기는 할거 같은데... 써볼 기회가 없네 그랴...

ALM 2008.02.28

단위 테스트 2회 - 확장된 단위 테스트 도구 (Cactus,JUnitEE)

확장된 단위 테스트 도구 (Cactus & JUnitEE) 자바스터디 조대협 (http://bcho.tistory.com) 지금까지 기본적인 단위 테스트 도구에 대해서 알아보았다. 좀더 상세화된 단위 테스트의 단계를 나눠 보면 다음과 같이 나눠볼 수 있다. l Type 1.코드 단위 테스트 코드상의 로직에 대해서만 테스트를 수행한다.앞 장에서 살펴본 테스트 방법이 일반적인 코드 단위 테스트 방법이다. 그러나 EJB,Servlet과 같은 J2EE 컴포넌트에 대해서 로직이 Dependency를 가지는 경우에는 EJB,Servlet 객체를 직접 연동하는 경우 container (WAS)에 배포하고, 기타 환경 설정이 필요하기 때문에, 로직 테스트를 위해서는 container 환경을 구성하기 전에 동일한 인터페..

ALM/Test Automation 2008.02.19

빌드 자동화 업체

Clover,JiRA, CI 툴등. 이런거 수입해서 국내에서 팔았으면 좋겠다 생각했는데.. 벌써 하는 업체가 있었네.. 반갑기도 하고.. ^^ 역시 사람들 빠르다는 생각도 들고... 마침 업체가 최종명 선배가 있는 업체기도 해서 기술에 신뢰도 간다... 기회가 되면 프로젝트 초반에 같이 한번 일해보고 싶은 업체. Architecture Group http://www.arctgroup.com 555-4847

Test Coverage Rate

테스트 Coverage rate에 대해 고민하던중 재미있는 글 하나 발견 사실 Coverage rate를 올리는것도 중요하지만, Coverage rate는 value있는 test 로 cover가 되어야 한다. 코드 Coverage rate를 올리는것 자체는 중요하지 않다. 얼마만큼 꼼꼼한 테스트가 도느냐가 문제이지... 여러 문서들을 찾아보니까는 보통 80%의 Coverage를 이야기 하는데, 이정도의 Coverage라면, 적어도 개발 과정 전에 Test 에 대한 방법이 고려된 상태에서 개발을 해야지 않는다면 개발 중간에 일정에 미칠 IMPACT가 어마어마할것이다. 지금 프로젝트는 60~70% 정도를 고민중인데.. 어떻게 될려나? == http://www.artima.com/weblogs/viewpost..

ALM/Test Automation 2008.02.11

통합 빌드 환경 설정 완료

9개의 프로젝트로 구성된 WLI 시스템에 대한 통합 빌드 시스템을 구축하였다. Hudson + ANT + WebLogic Workshop ANT TASK 를 조합해서 구성하였고 Free STMP 서버로 Alert 기능은 지원할 생각이고.. 인자 자동 DEPLOY 자동화까지 진행할 예정 다음주면 이건 될것이고.. == 표준화 팀에서 JUnit + DBUnit + Hudson으로 기능 테스트에 대한 자동화를 진행중이고 다음주 부터는 JUnit + Cactus 기반의 Unit 테스트를 구현할 예정이다. 이 과정에서 개발팀에게 Test Case와 Tuning을 위한 Issue Tracking 시스템을 설치할 예정인데.. 아직도 Trac을 할지.. 몰 쓸지를 결정을 못했네 그랴... 차라리 익숙한 Bugzilla..

Code Coverage Tools

상용 도구 Code Pro Anlytix Pro : 기능이 풍부한것 같고, 정적 코드 분석을 통해서 Complexity 분석도 되고 기능은 풍부한편으로 보인다. http://www.instantiations.com/codepro/analytix/server/index.html Clover : 다들 잘 아는 툴 이미들 많이 사용하고 있고, 널리 알려진 만큼 다른 시스템 (CI툴이나 Issue Tracking Tool, 소스 관리툴)들과의 통합도 쉽다. 오픈소스 Cobertura - 요즘 가장 유행하는 툴이 아닐까도 싶고.. 사용이 쉽고 직관적이다. 추천할만한 툴 EMMA-꽤 오래된듯한 툴 같은데... 여기저기 사례도 충분한거 같고 이클립스 플러그인도 지원한다. 마음에 드는것중 하나가 컴파일이 이미 다된 j..