테스트 / 자동화
단위 테스트(Unit Test)
단위 테스트는 함수처럼 작은 코드 단위가 주어진 조건에서 기대한 결과를 내는지 확인하는 테스트입니다.
쉬운 설명
참가비 합계를 계산하는 함수를 고쳤다면 앱 전체를 열지 않고 계산 결과부터 확인할 수 있어요. 이런 식으로 작은 부분의 동작을 확인하는 것이 단위 테스트예요. 입력과 기대값을 정하고 실제 결과를 비교해요. 계산이 맞는다는 사실만으로 화면에서 신청과 결제까지 된다는 뜻은 아니에요.
이런 상황에서 만나요
AI가 참가 인원에 따라 합계를 계산하는 코드를 만들었어요. 인원 2명일 때만 확인하지 않고 1명과 0명에서 어떤 결과가 나와야 하는지도 정해 보는 상황이에요.
화면 전체를 열기 전에 계산을 확인해요
1인 참가비 × 신청 인원 = 합계
1인 참가비: 10,000원 신청 인원: 2명 기대 합계: 20,000원
신청 버튼의 동작
결제 서비스 연결
신청 내역 저장
- 1예시에서는 할인이나 추가 요금이 없는 단순 계산이에요.
- 2정해 둔 입력에 맞는 계산 결과를 비교해요.
- 3계산이 통과해도 이 연결은 별도로 확인해야 해요.
정상 입력 외에 경계값과 허용하지 않는 입력을 함께 정하세요. 예를 들어 0명 신청을 막을지, 계산 함수는 0원을 반환하고 신청 단계에서 막을지 프로젝트의 규칙을 먼저 확인해요. 테스트가 그 규칙을 검사하도록 요청하세요.
헷갈리기 쉬운 점
작은 함수의 테스트만 있으면 충분한가요?
함수 자체가 맞아도 화면에서 잘못된 값을 넘기거나 다른 부분과 연결할 때 문제가 날 수 있어요. 단위 테스트는 작은 부분을 빠르게 확인하는 데 적합하고, 연결된 동작은 통합 테스트나 사용자 경로 검사로 보완해요.
함수의 내부 작성 방식만 따라가는 검사보다 입력에 따른 결과와 지켜야 할 규칙을 확인하세요. 코드를 정리했을 뿐인데 동작과 무관하게 계속 깨지는 검사는 확인 대상을 다시 살펴볼 필요가 있어요.
왜 알아야 할까요?
오류가 계산 자체에 있는지 다른 부분과 연결하는 과정에 있는지 좁힐 수 있어요. AI가 코드를 고친 뒤 같은 조건을 다시 검사하기도 쉬워요.
조금 더 자세히
단위의 크기는 팀과 구조에 따라 다릅니다. 흔히 함수나 작은 모듈을 대상으로 하며, 외부 통신 같은 의존성을 통제해 결과를 빠르고 일정하게 확인합니다.
실제 외부 서비스 대신 정해진 응답을 주는 대역을 사용할 수 있습니다. 이때 통과한 결과가 실제 서비스 연결까지 검증한 것은 아니라는 점을 구분합니다.
직접 사용할 때 확인해 보세요
- 입력과 기대값을 명확히 정한다
- 경계값과 잘못된 입력의 처리 규칙을 확인한다
- 외부 연결을 대체한 부분이 있는지 확인한다