여러 모듈이 함께 작동할 때 발생하는 문제를 찾는 테스트입니다.
외부 동작은 유지하면서 내부 코드 구조를 개선하는 작업입니다.
빠른 개발을 위해 나쁜 설계를 선택함으로써 발생한 미래의 비용입니다.
소프트웨어의 가장 작은 단위(함수, 메소드 등)를 검증하는 테스트입니다.