'how sweet it is'에 해당되는 글 1건

  1. 2010.10.20 do you trust your test suite? by sloth_chord (2)

좀 동적인 자료구조...
특히   balanced tree 종류의
자료구조코드 같은걸 테스트할때에는
페이지 사이즈, max fanout, 원소의 갯수 기타등등 이런 파라메터들을 다양하게 쓰는것도 중요하지만..

마치 정렬 알고리즘을 테스트 할때처럼 입력 데이타의 순서를 다양하게 줘야 한다는거를 깜빡했다.

'어쨌거나 테스트를 다 통과하는구나' 하면서
좀 오버해서 마구마구마구 코드를 조져대다가..........

문득 아차 싶어서 테스트 데이타를 역순으로 집어넣어보니까는 좌좌좌좍 테스트가 실패를해대는거다 에휴
삽입/삭제가 있을때마다 노드들이 자기 상태를 체크하는 디버깅코드를 넣어가면서 겨우 때려잡았다.

대단히 피곤하다. 후아아아아아암


이 사건의 재미없는 교훈 두가지는
1. 어지간하면 자료구조는 단순한거를 써서 해결할 수 있는 방법을 찾아 내 보자.
2. 테스트 통과한다구 그냥 그거만믿구 깝치며 코드 조져대지말자

Posted by sloth_chord

댓글을 달아 주세요

  1. clique 2010.10.20 21:06 신고  댓글주소  댓글쓰기 수정/삭제

    저는 그래서 재현 가능한 테스트를 랜덤 데이터 생성 기반으로 상당 기간 동안 실패할 때까지 돌립니다.
    프로그램에 기능이 추가될 때마다 테스트를 만드는 데 드는 시간이 점점 증가하는 게 문제긴 하네요 orz

    • sloth_chord 2010.10.21 11:00 신고  댓글주소  수정/삭제

      질 좋은 test suite를 만들기위한 자료도 몇번 찾아보구했는데 흐흐 이게 쉽게 개선이 잘안되네요.

      관련한 내용으로 다음에 썰을좀 풀생각도 잠깐 해보게되네요........