'TDD'에 해당되는 글 4건

  1. 2008.04.30 로마숫자 변환기 2
  2. 2008.04.10 오늘의 링크 : UI 테스트 툴 2
  3. 2008.03.31 EasyMock 자료 2
  4. 2008.03.25 TDD 링크
1부터 1000까지의 임의의 아라비아 숫자를 로마식 숫자로 바꿔주는 프로그램입니다.
기선님 블로그 보고 시간나면 해봐야지 하다가 며칠전에야 결심하고 점심시간에 1시간동안
코딩을 했는데 생각보다 쉽지 않았습니다. 1시간에 끝내려다가 결국 3시간 넘게 걸렸네요. -.-

우선 규칙을 파악하고 파악된 규칙을 코드로 풀어내는게 결코 쉽지 않더군요.
게다가 토비님의 15줄 언급으로 압박이 생겨서인지 짱구가 잘 안굴려진다는... ㅠㅠ

package kr.pe.javarss;
public class RomanConverter {
 String deciRomans[] = { "I", "X", "C", "M" }; // 1,10,100,1000에 대응하는 로마숫자
 String pentaRomans[] = { "V", "L", "D", "ↁ" }; // 5,50,500,5000에 대응하는 로마숫자
 public String convert(int number) {
  String roman = "";
  for (int i = 0; i < deciRomans.length && number != 0; i++, number /= 10) {
     roman = convertDigit(number % 10, i) + roman;
  }
  return roman;
 }
 // 0~9까지 숫자를 자릿수(1의 자리=0, 10의 자리=1,...)에 따라 로마숫자로 변환
 private String convertDigit(int digit, int pos) {
   if (digit < 4) return org.apache.commons.lang.StringUtils.repeat(deciRomans[pos], digit);
   if (digit == 4) return deciRomans[pos] + pentaRomans[pos];
   if (digit < 9) return pentaRomans[pos] + convertDigit(digit - 5, pos);
   if (digit == 9) return deciRomans[pos] + deciRomans[pos + 1];
   return "";
 }
}


결과는 15줄보다 조금 많은 23줄이 나왔습니다.(이클립스 소스포맷하면 몇줄 더 늘어나요 -.-;)
그래도 초록막대를 보면 기분이 좋아집니다. 즐거운 경험이었습니다. ^^


* 느낀 점
- 테스트케이스가 로직을 만들어 주지는 않는다. 테스트는 로직에 대한 확신과 힌트를 제공할 뿐,
  로직은 개발자의 머리에서 나오는 것이다.
 
- 자바언어는 별로 재미가 없다. 머릿속의 아이디어를 표현하기 위한 융통성과 지원구문이 부족하다.

Posted by 에코지오
,

1. Selenium IDE : http://selenium-ide.openqa.org/
- 불여우 플러그인
- GUI 모드로 UI를 테스트


2. Watij - Web Application Testing in Java : http://watij.com/
- 사용자 UI 액션을 코딩하여 테스트

3. Canoo Webtest : http://webtest.canoo.com/
- ant XML 형식으로 테스트케이스 작성


* 참고 글
자바지기님 블로그
http://javajigi.tistory.com/tag/테스트%20자동화

개발 고수를 향한 날개짓, 프로그램 테스팅
http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=30542

Posted by 에코지오
,
본격적으로 TDD를 수행하기 위해 노력하고 있는 요즘,
mock 객체의 필요성을 느끼고 있다.

jmock, easymock 둘 중 어떤 것을 데리고 놀까 고민하다가 초보학습자에게 좋은
easymock으로 결론짓고 자료를 검색하니,

역시나 기선님 자료가 위에 랭크되어 나온다... (기선님 쵝오 ^^b)

http://whiteship.tistory.com/search/easymock

2008/03/02 EasyMock - Using Stub Behavior for Methods
2008/03/02 EasyMock - Flexible Expectations with Argument Matchers
2008/03/02 EasyMock - Strict Mocks, Switching Order Checking On and Off
2008/03/01 EasyMock - Relaxing Call Counts
2008/03/01 EasyMock - Changing Behavior for the Same Method Call
2008/03/01 EasyMock - Creating Return Values or Exceptions
2008/03/01 EasyMock - Working with Exceptions
2008/03/01 EasyMock - Specifying Return Values
2008/03/01 EasyMock - Expecting an Explicit Number of Calls (2)
2008/02/06 EasyMock으로 클래스의 Mock 객체 만들기
2007/08/22 인터페이스를 사용할 때와 안 할 때의 테스팅 차이
2007/06/22 Spring MVC 리팩토링 4
2007/06/21 AbstractModelAndViewTests 사용하여 Controller 테스트하기
2007/06/19 Testing Controller
2007/06/19 EasyMock을 사용한 Service 계층 테스트2
2007/06/18 EasyMock을 사용한 Service 계층 테스트1
2007/04/09 Testing (2)
2007/04/08 이번 주 할 일
2006/12/30 주소록 개발 카탈로그 (4)
2006/12/17 중간점검
2006/12/11 페이징 기능 구현하기(TDD, Easymock, iBATIS, MySQL) (2)
2006/12/06 Easymock 연습하기 3탄
2006/12/05 Easymock 연습하기 2탄
2006/12/05 Easymock 연습하기
2006/12/05 단위 테스트 모르겠슴 ㅠ.ㅠ
2006/10/08 Layers of Abstractions

이제 남은 일은 공부하고 직접 돌려보는 것뿐.
Posted by 에코지오
,

TDD 링크

카테고리 없음 2008. 3. 25. 13:47
http://www.tdd.or.kr/

http://xper.org/wiki/xp/TestDrivenDevelopment

http://www.xper.org/LineReaderTdd/

http://blog.naver.com/joycestudy/100033800978

http://blog.naver.com/scroco/40006039152

http://wiki.javajigi.net/display/OSS/TDD

  • 테스트 주도 개발 (켄트 벡 저, 김창준 & 강규영 역,인사이트)
  • 실용주의 프로그래머를 위한 단위 테스트 with JUnit (데이비스 토머스 & 앤드류헌트 공저, 이용원 & 김정민 역, 인싸이트)
  • 책만 읽으면 뭐하냐. 실천하자.
    Posted by 에코지오
    ,