소프트웨어 개발 · SW-12
검토에서 발견한 다른 고객의 주문
가상 이야기 · 핵심노트 기반
핵심노트 개념: 코드 검토 — 다른 사람이 이해할 수 있는지 확인한다
이 글에서 배우는 교훈
코드 검토에서는 문법뿐 아니라 권한과 업무 규칙이 잘못된 요청에서도 지켜지는지 확인해야 합니다.
핵심노트를 바탕으로 만든 가상 이야기입니다. 실제 사건이나 검증된 성과가 아닙니다.
근거: 코드 검토 — 다른 사람이 이해할 수 있는지 확인한다 · 핵심노트 12
구체적으로는 주문 번호만 바꾸면 다른 고객 자료를 볼 수 있었습니다. 서버에서 해당 주문의 고객과 로그인한 사용자가 같은지 검사했습니다.
관련 교재 내용
소프트웨어 개발 · IX. 소프트웨어 테스팅 · 코드 기반 정적 분석
실행 결과뿐 아니라 소스의 구조를 분석하여 결함을 찾는 접근을 설명합니다.
이 사례에 적용한 내용: 코드 검토자가 주문 번호 변경 시 다른 고객의 자료가 보이는 가정을 찾아냅니다. 동료 검토 절차는 정적 검증 원리의 적용입니다.
교재 원리의 실무 적용 · 교재 원문 인용이 아닌 자체 설명입니다.
본문
주문 조회 기능은 화면에서 선택한 번호로 데이터를 가져왔습니다. 동료 검토자는 요청의 주문 번호를 바꾸면 다른 고객의 주문도 보일 수 있다는 점을 발견했습니다.
개발자는 조회 대상이 로그인한 고객의 주문인지 서버에서 검사했습니다. 검토 과정에서 정상 화면뿐 아니라 잘못된 요청이 들어오는 경우도 확인했습니다.
결론
코드 검토가 문법과 이름만 확인했다면 접근 문제를 놓쳤을 것입니다. 다른 사람이 업무 규칙과 실패 조건을 함께 읽는 것이 검토의 중요한 역할입니다.