테스트 / 자동화
테스트 코드(Test Code)
테스트 코드는 프로그램에 입력이나 동작을 주고 결과가 기대한 조건과 맞는지 자동으로 확인하는 코드입니다.
쉬운 설명
AI에게 기능을 고쳐 달라고 하면 “테스트도 추가했습니다”라는 답을 받을 수 있어요. 테스트 코드는 정해 둔 상황을 실행하고 실제 결과를 예상한 결과와 비교해요. 예를 들어 빈 이메일로 신청하면 저장하지 않고 안내를 보여 주는지 확인할 수 있어요. 어떤 상황을 검사했는지에 따라 통과했다는 말의 의미도 달라져요.
이런 상황에서 만나요
신청 폼을 수정한 뒤 기존 기능이 망가지지 않았는지 확인하고 싶은 상황이에요. AI에게 테스트를 요청할 때 정상 신청뿐 아니라 빈 입력과 중복 신청에서 기대하는 결과도 알려 주세요.
통과 개수보다 검사한 조건을 읽어 봐요
이메일이 비어 있으면 신청을 저장하지 않는다.
입력: 이메일 빈칸 기대: 입력 안내 표시, 저장 요청 없음
PASS: 빈 이메일 제출 차단
미확인: 통신 실패 후 재시도
- 1앱이 어떻게 동작해야 하는지 먼저 정해요.
- 2무엇을 실행하고 어떤 결과를 확인할지 구체화해요.
- 3통과한 범위와 아직 검사하지 않은 범위를 함께 읽어요.
테스트 결과를 받으면 어떤 명령을 실행했고 어떤 조건을 확인했는지 읽어 보세요. “전부 통과”라는 요약만으로 판단하지 말고, 이번 수정과 관련된 검사가 실제로 포함됐는지 확인해요. 실행하지 않았다면 이유와 남은 확인 항목을 구분해 달라고 요청하세요.
헷갈리기 쉬운 점
테스트가 통과하면 오류가 없다는 뜻인가요?
작성한 검사 조건에서 예상한 결과가 나왔다는 뜻이에요. 빠뜨린 상황이나 잘못 정한 기대값까지 보장하지는 않아요. 테스트가 실행되지 않고 건너뛰어진 경우도 통과한 검사와 구분해야 해요.
실제 코드가 잘못 동작할 때 검사도 실패하는지 확인하세요. 현재 결과를 그대로 정답으로 복사하면 잘못된 동작을 유지하는 테스트가 될 수 있어요.
왜 알아야 할까요?
AI가 수정한 결과를 반복해서 확인할 수 있어요. 나중에 다른 기능을 고쳤을 때 이전 문제가 다시 생기는지도 빨리 알아차릴 수 있어요.
조금 더 자세히
테스트는 준비할 입력, 실행할 동작, 확인할 결과로 나눠 읽을 수 있습니다. 결과가 조건을 만족하는지 확인하는 코드를 assertion이라고 합니다. 도구와 언어에 따라 작성 문법은 달라집니다.
테스트 파일을 만드는 것과 실제 실행하는 것은 다릅니다. 프로젝트의 실행 명령과 환경을 확인하고, 실패했다면 입력·기대값·실제 결과를 함께 살펴봅니다.
직접 사용할 때 확인해 보세요
- 검사할 상황과 기대 결과를 먼저 정한다
- 실제로 실행한 검사와 건너뛴 검사를 구분한다
- 이번 수정이 잘못되면 실패할 검사인지 확인한다