메뉴 건너뛰기

박영식 홈페이지

[글쓰기] 나는 테스터다. 단위 테스트는 지양한다.

lispro062015.10.22 23:24조회 수 252댓글 0

    • 글자 크기

개발자 입장에서 실제 사용자는 어떤 식으로 입력할지, 기능을 사용할지 알 수 없다.


물론 초기에 "A는 B에 입력하고, C를 D와 같이 사용하세요." 라고 하더라도, " A?, B?, C?, D? == 가, 나, 다, 라 "로 흘려 들을 수 있다. 사실 제품 제작자가 아닌 내 자신이 사용자가 된다면, 설명서에 집중하여 최대한 시행착오를 줄이려 노력한다 해도 결국 한 두가지를 간과하여 실패에 이른다.


자주 짧은 코드를 작성하고, 간단한 단위의 배포 소스를 수정해 적용하는 업무를 하고 있다. 아무리 코드의 양이 적더라도 단위 테스트 등을 통해 품질을 관리할 필요가 있다. 이는 확장성에 닿아 있기 때문이다. 그러나 나는 게으르기 때문에 테스트를 위한 코딩은 하지 않는다. 단지 디버깅 로그를 사용할 뿐이다. 또한 핑계를 하나 더 붙여서 사용자의 입력과 행동이 단위 테스트 범위를 넘어서는 경우가 많아 차라리 사용자 테스트를 통해 버그를 수정하고, 축적된 데이터를 분석하는 것을 선호한다.


그동안은 나의 게으름을 완전히 숨겨왔지만, 이를 정당화(?)해 줄만한 글을 읽었기에 옮겨 놓는다.


테스트는 해야 한다. 테스트, 테스트, 테스트. 하지만 나는 단 한번도 (a) 설정하는 데 걸리는시간이 100 시간/사람 이상 걸리지 않거나 (b) 수많은 공학적 자원을 빨아들이지 않거나 (c) 실제로 상관이 있는 버그를 발견하는 구조적인 테스트 프로그램을 본 적이 없다. 단위 테스트라는 것은 수많은 엔지니어에게 지루함을 견디고 아무것도 찾아내지 않는 것의 대가로 급여를 지급하는 수단에 불과하다 - 윌 쉬플리-


개인적으로 나는 테스트 주도 개발이라 생각했다. 작은 코딩을 하고 테스트하여 원하는 결과를 얻고, 같은 방식으로 새로운 함수를 만들거나 확장하는 식으로 코딩을 하기 때문이다. 그러나 적확하지는 않음을 깨달았다. 이런 개발방식은 차라리 주먹구구식에 가까울지도 모른다. 그래도 설계가 어느 정도 포함되어 있고, 규모 자체가 워낙 작기에 효율적이다.


보안 점검에서 좀 더 과격한 테스터의 관점을 더한다면 아래의 조언을 받아들일 수 있다.


과감하게 말하겠다. 당신의 망할 프로그램을 반드시 테스트해야 한다. 실행하라. 사용하라. 이상한 일들을 해보라. 키보드를 망가뜨려라. 지나치게 많은 항목을 더해보라. 2MB 짜리 텍스트 파일을 넣어보라. 그것이 어떻게 오동작하는지 발견하라. 이렇게 하는 것이 매우 중요하기 때문에 나는 지금 고함을 지르고 있다. - 윌 쉬플리 -


한국은 너무과도한 테스트를 했는지도 모른다. 정말 2MB 를 넣었더니 디버깅이 불가능한 수준으로 갔다. IT 테스트베드로 좋다는 것은 인정하지만, 실험정신이 너무 강했는지도 모른다.


내가 제작한 프로그램은 사용자가 IT 관련이 아니다. 물론 이것은 중요하지 않을 수도 있다. 정말 생각지도 못한 사용이 일어나기도 하여, 끔찍한 결과가 나온 적도 있다.(그렇게 끔직하진 않다.) 아무튼 난 단위 테스트라기 보다는 사용전 테스트와 사용자 테스트를 통해 코딩을 한다. 이건 단순 테스트 주도 개발이 아닌 "주먹구구식 사용자 테스트 주도 개발" 정도로 불러본다.

lispro06 (비회원)
    • 글자 크기

댓글 달기

[시술] 임플란트 1개

[원문보기]

1번은 사랑니와 어금니다.


어금니에 금이 가서 아팠는데, 사랑니랑 같이 제거해 버렸다.


그래서 오늘 임플란트 시술을 하고, 추후 보철을 하게된다.


2월 17일에 발치를 하고, 3개월 정도 지났군.


오른쪽 사랑니는 일단 두자....

[수필] 고인의 유작을 읽다

[원문보기]
호랑이는 죽어서 가죽을 남기고, 사람은 죽어서 이름을 남긴다. 이름보다는 책이 더 남는다. 故 장영희 교수님을 비롯해, 故 앙드레 김, 故 손창섭, 故 이윤기 님의 도서를 읽었다. 故 법정스님이나 故 노무현 전 대통령의 도서는 이미 읽은 적이 있기에 다시 읽고 싶지 않았다. 나는 죽어서 무엇을 남길 것인가에 대해 생각해 보면, 홈페이지 등의 디지털 자료가 있을 듯 하지만, 계정이 만료되면, 없어질 것이고, archiving 서비스가 있긴 하지만 보증(guaranty)할 수 없기 때문에, 아무래도 지속적으로 유지되기 힘들다. 다행이 IEEE에 검색서비스에서 확인할 수 있는 논문이 있고, 몇 가지 기술문서 번역이 있기에 약간의 흔적들을 남긴 할 것이다. 그래도 확실한 것은 저술인데, 이는 쉽지 않을 것 같다. iPhone 등에서 이용할 수 있는 전자책의 경우도 생각해 봤으나, 영속성 측면에서는 미흡한 점들이 많다. 세르반테스의 돈키호테의 경우 작가 탄생 100주년 등을 기념해 새로 책이 출판되어 명맥을 계속 유지할 수 있으나, 유명하지 않은 책들은 거의 사장되기 쉽다. 과연 어떤 것이 몇 백년, 몇 천년 후에도 남을 것인가는 좀 더 생각해 봐야할 듯하다. 생전에까지만이라도 기록으로 남을 수 있다면 충분할 거라는 생각으로 문서화를 진행하고 있는데, 얼마 지나면 그 기준이 바뀔지도 모르겠다. 고인들의 유작은 그들이 살아있을 때보다, 더 인정을 받을 확률이 높은 듯하다. 정말 훌륭한 기록은 시대를 앞서간 작품들이므로 생전에는 인정받는 게 불가능하기 때문이다. 반정도 남은 故 이윤기 님의 무지개와 프리즘을 마저 읽어야 겠다.

[마라톤] 2011 산타마라톤

[원문보기]
송파구청장이 바뀌지 않고, 여성신문의 후원도 있었는데, 대회가 개판이었다.

매해 좋아져야 되는데, 이번에 이런 식이면 곤란하다.

뭐야, 사진도 남아있는게 없고!

아, 다시 떠올리니 짜증난다.

[서평] 기사 100건 달성

[원문보기]
2007년 10월 16일 첫 기사를 시작으로 2010년 5월 26일 100건의 기사를 달성했다.

올해 100건까지 쓰기를 생각했는데, 생각보다 빨리 달성했다.

올해는 벌써 50여건의 기사를 썼다. 어제 독자의 메일을 받았는데, 저자의 메일 주소를 알려달라는 내용이다.

헛. 모르는데.... 답변은 좀 더 나중에 생각해 봐야겠다.

[달리기] 제6회 은평구청장배 국민생활 단축 마라톤대회

[원문보기]
무료 대회는 후원자들의 격려사나 축사가 많다. 참가비도 안내는데 그 정도는 들어줘야지. 막걸리나 찌개 등은 괜찮았다. 코스가 반환이 두번이나 있는 정상적이지 않은 것이었으나, 감수했다.
2km정도 지점에서 '허리를 펴고 달리세요. 무릎 다쳐요.' 라고 누군가 말했다. 허리를 안 펴서 그동안 무릎이 아팠나? 신발끈이 자꾸 풀리는 바람에 잠깐씩 쉬면서 호흡을 조절했다. 다음달에 금년 마지막 달리기를 수행할 예정인데, 그 때는 좀 더 자세를 바르게 하고 달려봐야겠다.

[수상] 논문공모전 가작

[원문보기]
논문 공모전에 3번 정도 공모한 것 같은데, 성과과 나왔다.
LG, 한경, 삼성, 저작권위원회..... 4번째에 성공했다!

[관람] 숙명여자대학교 음악대학 정기연주회

[원문보기]
예술의 전당을 한 번도 가본적이 없어서, 무료 관람을 할 수 있는 정기연주회에 동석하자고 부탁했다. 지인이 하는 연주라 의미있는 시간이었고, 멋진 예술의 전당을 볼 수 있어서 정말 좋았다. 물론 나오면서 '신분' 차이에 대한 좌절감을 약간 맛 봐야 했지만, 하루 이틀 일도 아니라 금방 잊어버렸다. 난 첼로가 좀 어울릴 것 같다고 한다. 거기 나온 악기들을 열거해 본다.

바이올린, 첼로, 더블베이스, 실로폰, 트라이앵글, 트럼본, (튜바  or 호른), 팀파니, 비올라?, 심벌즈, 탬버린.....

뭐가 있었고 없었는지, 알기엔 교양이 부족한 걸까?

[리뷰] 도서리뷰 400(+1000)

[원문보기]
네이버에 1000개를 쓴 후, 다음에 400개를 썼다. 1400개. 다음에 1000개를 채우면 이제 어디에 써 볼까?

파이어월.

[원문보기]
그들은 이미 안에 있었다??!!! 영화 제목은 방화벽인데, 방화벽과 관련된 것은 안 나오는 것 같다. 사회과학자 (캐빈 미크닉인가.... 검색해도 안 나오는 군..)의 수법을 이용해, 관리팀에게 전화를 한 후, vip의 계좌를 팩시밀리 스캐너로 읽은 후, 엠피쓰리 메모리에 저장한다. 이게 과연 가능한 일인가.... 음... 계좌에서 돈을 처음부터 빼낼 생각이었다면, 그렇게 위험하게 들어가서 이체할 필요가 있었을까... 나중에 밝혀진, 해리의 살해의도도 너무도 터무니가 없었다... 아무튼, 방화벽이란 없다. 왜,, 다 사람이 하는 것이니까... 네트 2.0에서도 은행계좌의 돈을 빼내는 범죄를 다뤘다. 개인 신상을 이용한, 나이트 플라이트에서 처럼 사람을 이용하는 것... 어떠한 것이든, 사람을 이용할 수 밖에 없다. 기계는 기계일 뿐이다. * 박영식님에 의해서 게시물 복사되었습니다 (2007-06-09 01:29)"

[iBook] 아이패드용 북 제작 중

[원문보기]
정식으로 출판사를 책을 내기 어렵다면, 간편하게 E-book을 만들면 된다.

사실 헌혈 100번을 채우면 내려고 했는데, 치과 진료 때문에 올해 안으로 하는데 약간 차질이 생길 수도 있겠다.

일단 내고 보자.

매우 매우 쉬우니 검색해서 하면 되겠다.
이전 1 ... 67 68 69 70 71 72 73 74 75 76... 78다음
첨부 (1)
1.jpg
49.3KB / Download 1,980
위로