고치기 전에 실패해야 증거가 되는 테스트
테스트가 통과했다고 버그가 고쳐졌다고 말할 수 있을까요? 얼쑤의 연주 비교 기능을 고치며 배운, 테스트를 먼저 실패시켜 보는 습관을 정리했습니다.
태그
이 주제로 남긴 기록 13편
테스트가 통과했다고 버그가 고쳐졌다고 말할 수 있을까요? 얼쑤의 연주 비교 기능을 고치며 배운, 테스트를 먼저 실패시켜 보는 습관을 정리했습니다.
학습 단계와 채점 악보를 읽는 파서에서 배열 변환과 필수 필드 검사를 분리하고, 작은 JSON으로 검증한 과정을 설명합니다.
평가 조회와 녹음 분석 재시도에서 조회·업무 판단·HTTP 응답의 역할을 나누고, 각 경계의 검증 결과를 살펴봅니다.
업로드 대기 녹음을 보관하는 도중 상태 조회가 파일을 지울 수 있었습니다. 정리 시점을 옮기고, 파일 이동과 기록 저장 사이에 조회를 끼워 넣어 검증했습니다.
단독 컨트롤러 테스트에서 발생한 500의 원인을 찾고, 인자 해석·공통 오류·실제 서명 쿠키 검사의 범위를 나눴습니다.
Wasm에서 실행한 녹음 업로드 공통 테스트와 Android 파일 구현의 제한된 JVM 검사를 분리해, 각 결과가 확인한 범위를 정리했습니다.
저장 도중 실패한 변경은 DB에서 되돌아가고, 커밋에 실패한 업로드에서는 분석을 시작하지 않는지 각각 검사했습니다.
녹음 검사의 외부 프로세스가 시간 초과와 스레드 중단에서 남지 않도록 하고, 가짜 실행 파일이 남긴 PID로 종료까지 확인했습니다.
지난달과 직전 같은 일수는 언제 다른지, 오늘 연습하기 전에는 어디서부터 연속 일수를 세는지 정리했습니다.
정확한 박자로 만든 합성음이 조각 MP4를 거치자 세 음에서 박자 오류가 났습니다. 앱과 같은 방식으로 테스트 파일을 만들어 판정이 돌아오는지 확인했습니다.
성장 화면에서 첫 연주와 최근 연주를 비교할 때 악보 버전, 채점 모델, BPM과 단위를 맞춘 이유입니다.
실제 AWS SDK가 보낸 요청을 로컬 HTTP 대역에서 받았습니다. 175바이트의 서명 청크를 풀어 원본 3바이트와 대조한 과정입니다.
화면이 보인 시간에서 자리 비움과 백그라운드를 빼고, 앱이 종료되면 마지막 저장 시점까지 기록을 복구하는 과정을 정리했습니다.