QA에서 개발자로, 경계값 오류 하나를 테스트와 수정으로 연결하세요
QA 경험을 개발 실습으로 확장하는 작은 과제입니다. 수량 제한의 경계값을 자동 테스트로 표현하고, 실패 원인과 최소 수정, 주변 조건의 재검사 결과를 구분해 기록하는 방법을 정리했습니다.
오류를 설명한 다음 코드의 판단을 바꿔보세요
QA에서 개발자로 전환을 준비한다면, 익숙한 재현 절차를 작은 자동 테스트로 옮기는 실습을 해보세요. 발견한 오류 목록과 별개로 ‘어느 조건을 왜 수정했는가’를 설명하는 연습입니다. 회사 코드 대신 직접 만든 연습용 함수만 사용합니다.
pytest 공식 시작 문서는 Python의 assert로 기대값을 검증하고, 실패 보고에서 비교값을 확인하는 방법을 안내합니다. 아래 과제는 이를 활용한 자체 학습안이며 실제로 실행해 얻은 결과를 제시하는 글은 아닙니다.
규칙과 입력 범위를 먼저 고정하세요
가상 규칙은 ‘주문 수량이 1 이상 10 이하이면 허용’입니다. 이번 함수의 입력은 정수로 한정합니다. 문자열·소수·빈 값의 입력 처리나 재고 확인은 별도 과제로 남깁니다.
허용 여부를 반환하는 함수 이름을 is_allowed라고 정하고, 다음 기대값부터 적어보세요.
- 수량 0: 허용하지 않음. 최솟값 바로 바깥입니다.
- 수량 1: 허용함. 최솟값을 포함해야 합니다.
- 수량 10: 허용함. 최댓값을 포함해야 합니다.
- 수량 11: 허용하지 않음. 최댓값 바로 바깥입니다.
연습용 오류는 조건을 ‘1 <= quantity < 10’으로 작성한 상황입니다. 규칙과 비교하면 10을 제외한다는 차이를 찾을 수 있습니다. 기대값은 현재 코드가 반환하는 값이 아니라 먼저 정한 규칙에서 가져옵니다.
실패·수정·재검사를 따로 남기세요
Python과 pytest가 준비된 개인 실습 환경에서 test_quantity.py에 test_로 시작하는 테스트 함수를 작성합니다. 예를 들어 최댓값 검사는 ‘assert is_allowed(10) is True’로 표현할 수 있습니다. 구현한 함수를 테스트에서 불러오도록 연결해야 합니다.
- 수정 전 실행: pytest -q test_quantity.py로 실행하고 실제 결과를 저장합니다. 10의 검사에서 실패할 것으로 예상하지만, 함수 불러오기 오류나 수집된 테스트 0개는 의도한 실패가 아닙니다.
- 최소 수정: 상한 비교를 ‘< 10’에서 ‘<= 10’으로 바꾸고 이유를 적습니다. 테스트 기대값을 False로 바꾸어 통과시키면 원래 규칙을 검증하지 못합니다.
- 주변 조건 재검사: 같은 파일의 0·1·10·11 검사를 모두 실행합니다. 추가 테스트가 있다면 함께 실행하고, 실행한 범위와 실패·건너뜀 여부를 구분합니다.
한 테스트만 통과했다고 끝내지 마세요. 예를 들어 조건을 ‘quantity <= 10’으로만 바꾸면 상한은 맞지만 0까지 허용합니다. 최솟값 바깥의 검사도 함께 남기는 이유입니다.
수정 증거를 한 묶음으로 정리하세요
실습 기록에는 ‘규칙 / 수정 전 코드와 실패 이유 / 바꾼 조건 / 재실행 명령·환경 / 실제 결과 / 미검증 범위’를 적어보세요. 실행 로그와 코드 버전이 서로 맞는지도 확인합니다. 테스트 출력이 없다면 예상 결과로 표시하고, 성공 로그를 만들어 넣지 않습니다.
오늘은 위 네 입력을 검사하는 테스트와 한 줄 수정부터 완성해보세요. 그다음 입력 형식 검증을 추가할지 별도 과제로 결정합니다. 이 작은 함수가 통과해도 결제·재고·화면 연동이나 서비스 전체 품질을 보증하지 않으며, 개발자 채용 역량 전부를 증명하는 것도 아닙니다.
자료 정리와 초안 작성에 AI를 활용한 공식 정보성 글입니다. 예시는 실제 개인 경험이나 채용 성공 사례가 아닙니다.
출처 및 편집
폴리오쉽 에디터 · 공식 에디토리얼

이 글에 대한 이야기
댓글과 답글로 경험을 나눠보세요.
댓글 작성 · 좋아요 · 공유하기