단위 모듈 구현·테스트와 개발 도구
모듈의 입출력 계약과 단위 테스트를 이해하고 IDE·협업·형상관리 도구의 역할을 구분한다.
단위 모듈 구현
단위 모듈은 정해진 책임을 수행하는 함수·클래스·프로그램 등의 구현 단위다. 설계에서 정한 기능, 입력과 출력, 호출 관계, 예외 조건을 확인한 뒤 구현한다. 독립적으로 시험하기 쉽도록 책임을 분명히 하고 모듈 사이의 불필요한 의존을 줄인다.
| 확인 항목 | 구현할 내용 |
|---|---|
| 기능 | 모듈이 수행할 처리와 업무 규칙 |
| 입력 | 매개변수의 자료형·범위·필수 여부 |
| 출력 | 정상 결과, 빈 결과, 오류 결과의 구분 |
| 호출 관계 | 호출할 모듈과 전달할 데이터 |
| 예외 처리 | 잘못된 입력·외부 장애의 처리와 자원 정리 |
구현 순서는 설계 확인 → 처리 로직 작성 → 단위 테스트 → 결함 수정 → 다른 모듈과 통합이다. 각 모듈이 따로 정상 동작해도 매개변수나 데이터 형식이 맞지 않으면 통합 과정에서 오류가 생길 수 있다.
단위 모듈 테스트와 단언
단위 테스트는 작은 구현 단위가 명세대로 동작하는지 확인한다. 정상 입력뿐 아니라 경계값, 잘못된 입력, 빈 데이터, 오류 경로를 포함한다. 테스트 케이스에는 사전 조건·입력·기대 결과를 적는다.
단언(assertion)은 실제 결과와 기대 결과를 비교하는 검사다. 합계가 5여야 한다면 ‘정수다’ 또는 ‘값이 있다’만 확인해서는 계산 오류를 놓친다. 명세된 값이나 예외를 직접 확인해야 한다.
픽스처(fixture)는 테스트에 필요한 초기 데이터와 환경이다. 준비 → 실행·단언 → 정리의 순서로 시험하고, 이전 테스트의 상태가 다음 결과에 영향을 주지 않도록 격리한다. 준비·정리 함수의 구체적인 이름과 예외 처리 규칙은 사용하는 도구에 따라 달라진다.
xUnit은 JUnit·unittest 등 언어별 단위 테스트 프레임워크 계열이다. 도구의 목적은 테스트 실행과 결과 비교의 자동화다. 실행 성공만으로 모든 결함이 없음을 증명하지는 않는다.
IDE·협업·형상관리 도구
| 도구 구분 | 역할 | 대표 예 |
|---|---|---|
| IDE | 코드 편집, 실행·빌드 연동, 디버깅 등 개발 기능을 통합 제공 | Eclipse, IntelliJ IDEA, Visual Studio |
| 협업 도구 | 작업·결함·의견·문서를 공유하고 담당자와 진행 상황을 관리 | 이슈 추적기, 공동 문서, 코드 리뷰 도구 |
| 형상관리 도구 | 소스·설정·문서의 변경 이력과 버전을 관리 | Git, SVN |
IDE에서 실행됐다는 사실과 팀의 공통 빌드 환경에서 재현된다는 사실은 다르다. 필요한 의존성·설정·실행 방법을 공유해야 한다. 형상관리의 기준선·변경 통제와 버전 협업 절차는 ‘버전·형상·릴리스·배포·롤백’에서 다룬다.