여러분들은 만든 프로그램을 어떻게 테스트 하시나요 ?
글쓴이: dingkyu / 작성시간: 목, 2008/02/14 - 10:56오전
안녕하세요.
이제 막 신입으로 회사에서 프로그래밍일을 하고있는데
막막한 부분이 있어서 질문드립니다.
뭐 아직 프로그래밍을 한다기 보다는 코더입니다만,
프로그램을 상사의 지시에 의해 작성하고 컴파일이 되면,
테스트를 해야 할텐데요.
그 테스트를 어떤 점을 주의해서 해야 할지 아주 막막합니다.
전부 다 해서 한 700라인정도의 간단한 프로그램을 작성했고
거기에 40가지의 테스트 항목을 나름 정리해서 보고했더니
너무 뻔한 테스트 아니냐는 대답을 받았습니다.
확실히 다 했습니다 하고 보고하고 올리면 10분도 채 안되서
에러발견했으니까 다시 고쳐오라고 합니다.
다시 고치는건 문제가 아닌데
도데체 어떤식으로 테스트 항목을 정해야 보다 견고하게
코딩을 하고 또 이런 테스트를 했으므로 문제없습니다 하고
예기할 수 있을지 아주 고민입니다.
이 글을 보시는 여러분들은 스스로 만든 프로그램을 테스트할때
어떤식으로 하시는지요 ?
Forums:
참고 서적
참고 서적 몇가지
(주로 자바내지는 파이썬으로 설명하고 있지만, 다른 언어에 적용하는 것도 크게 어렵진 않습니다)
테스트 항목을 정하기 보다는 그 항목을 xUnit 테스트 케이스로 만들어 두는 것이 정신건강에 도움이 될 것입니다.
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
테스트 항목을
테스트 항목을 만드는 것도 쉬운 일이 아니지요.
뭉뚱그려서 말하자면 "최소, 중간, 최대, 특이" 정도가 기준이 될 수 있을 것 같습니다. 예를 들어 자연수를 입력받는다고 가정하면, INT_MIN, -1, 0, 1, INT_MAX를 입력을 삼아 테스트할 수 있을테고요. 포인터를 받을 때는 NULL 등을 넣어볼 수도 있고, 문자열을 받을 때는 긴 문자열이나 이상한 문자열("@#a;o8ejf2o3") 같은 걸 넣어볼 수도 있겠죠. 경계 부근(예. 위의 0 근처)에서는 좀 더 자세한 테스트를 해도 좋고요. 이런 정도의 기준으로 마음껏 상상의 나래를 펼쳐서 테스트 케이스를 만드시면 되겠죠. ^^;
M.W.Park님 말씀처럼 가능한 테스트를 자동화 하시고요. 새로 발견되는 에러들을 테스트 케이스에 추가하세요. 하지만 확실히 검사한다고 테스트 케이스를 너무 늘리지는 마시고요. 비효율적이니까요.
저같은 경우는~~
우선 작성된 모듈별로 간단한 테스트 케이스 작성해서 검증하고요..
모듈들이 모여서 이루어지는 기능 테스트는 입력될 수 있는 값들을
상황별로 예측을 해서 미리 정해두고 입력값을 넣어보며 검증합니다.
최종적으로 다시 테스팅을 할때는 우선 잘되는지...보고
그 이후에는 각종 장애 상황을 설정해서 어떤식으로 동작하는가를 지켜보는 방식으로 하죠.
저도 신입사원이라 ^^;;;
이정도 수준에서 하는데 아직까지는; 문제가 없었네요
댓글 달기