
348
3
부
시스템의 구현
을 강화하는 데 도움이 된다. 이 기법은 잠재적인 정보의 유출을 잡아내고 서비스가 여러가지
예외 상황에 노출되서 에러를 리턴하게 되는 현상을 줄여준다. 쉽고 빠르게 수정할 수 없는 시
스템의 잠재적인 버그를 찾아내려면 사전 테스트를 철저히 수행해야 한다.
13.1
단위 테스트
단위 테스트
는 릴리스 전에 개별 소프트웨어 컴포넌트의 다양한 버그를 짚어낼 수 있어 시스템
의 보안과 신뢰성을 향상시킨다. 이 기법은 소프트웨어 컴포넌트를 작고 외부 디펜던시가 없
는 독립적인 ‘단위’로 분리한 후 각 단위를 테스트하는 방법이다. 단위 테스트는 테스트를 작성
하는 엔지니어가 해당 테스트 단위에 제공할 여러 입력값을 직접 선택해 실행하는 코드로 구성
한다. 많은 언어가 대중적인 단위 테스트 프레임워크를 제공한다.
xUnit
(
https
://
oreil
.
ly
/
jZgl5
) 아키텍처에 기반한 시스템이 특히 보편적이다.
xUnit
패러다임을 따르는 프레임워크는 개별 테스트 메서드를 실행할 때 공통적으로 사용할
셋업과 해제 코드를 지원한다. 이런 프레임워크는 개별 테스트 프레임워크 컴포넌트의 역할과
책임도 정의해서 테스트 결과 형식을 표준화할 수 있다. 그래서 다른 시스템이 정확히 뭐가 잘
못됐는지에 대한 상세한 정보를 얻을 수 있다. 가장 보편적인 예시로는