CS/시험 공부
Error / Defect / Failure
ReinaMoon
2025. 6. 16. 04:04
예제 문제를 하나 풀어보는데, 관련해서 틀려서 정리한다.
ISTQB에서는 Error, Defect, Failure를 각각 다르게 정의한다.
Error | Defect | Failure | |
흔히 Mistake로 알려진 것 | 흔히 Bug, Fault로 알려진 것 | ||
ISTQB 정의 | A human action that produces an incorrect result. | An imperfection or deficiency in a work product where it does not meet its requirements or specifications. | An event in which a component or system does not perform a required function within specified limits. |
error 로 인해 defect 발생 가능 | defect으로 인해 failure 발생가능 | 고객 불만족 등으로 이어짐 | |
모든 error가 defect이 되는것이 아님. | 모든 defect들이 failure가 되는 것이 아님 | 역시나, 모든 failure들이 고객 불만족으로 이어지는 것은 아님 |
"김밥 만들기" 비유로 완벽 이해하기
- 에러 (Error / Mistake): "사람의 실수"
- 상황: 요리사가 김밥 레시피를 보다가 실수로 소금 대신 설탕을 집어 들었습니다.
- 핵심: 이것은 '행위(Action)'입니다. "잘못된 행동을 한 그 순간"이 바로 에러입니다.
- 결함 (Defect / Bug / Fault): "잘못된 결과물"
- 상황: 요리사가 설탕을 넣고 밥을 다 비볐습니다. 이제 그 밥은 "설탕이 들어간 밥(결점 있는 밥)"이 되었습니다.
- 핵심: 이것은 '상태(State)' 또는 '사물(Thing)'입니다. "실수의 결과로 인해 잘못 만들어진 그 자체"가 바로 결함입니다. 아직 아무도 먹지 않아서 문제가 겉으로 드러나지는 않았습니다. 코드에 잘못 쓰여 있는 바로 그 부분이 결함입니다.
- 실패 (Failure): "문제가 드러나는 현상"
- 상황: 손님이 그 김밥을 한입 먹고 "으악! 왜 이렇게 달아!" 하고 뱉었습니다.
- 핵심: 이것은 '사건(Event)' 또는 '현상(Phenomenon)'입니다. "결함이 있는 결과물이 사용(실행)되었을 때, 기대와 다른 결과가 나타나는 그 순간"이 바로 실패입니다.
요약:
- 에러: 설탕을 집은 행동
- 결함: 설탕이 들어간 밥
- 실패: 김밥을 먹고 "달다!"고 뱉는 사건
문제 풀이 공식: 문장의 '시점'과 '주어'를 찾아라!
문제를 봤을 때, 이 세 가지만 확인하면 99% 풀 수 있습니다.
- 문장이 "사람의 행동"을 묘사하는가? → 에러 (Error)
- "A developer misinterpreted the requirement." (개발자가 요구사항을 오해했다.)
- "A business analyst wrote an ambiguous sentence." (기획자가 모호한 문장을 썼다.)
- 주어가 '사람'이고, 동사가 '실수 행위'일 때입니다.
- 문장이 "코드나 문서의 잘못된 상태"를 묘사하는가? → 결함 (Defect)
- "The code contains an incorrect logical operator." (그 코드는 잘못된 논리 연산자를 포함하고 있다.)
- "There is a flaw in the design document." (설계 문서에 결점이 있다.)
- 주어가 '코드'나 '문서' 같은 '사물'이고, 그것의 '잘못된 상태'를 설명할 때입니다. 아직 실행되기 전입니다.
- 문장이 "소프트웨어 실행 중 발생한 현상"을 묘사하는가? → 실패 (Failure)
- "The system crashes when a user clicks the button." (사용자가 버튼을 누르면 시스템이 다운된다.)
- "The calculation produces an incorrect result." (계산이 잘못된 결과를 만들어낸다.)
- "The screen freezes." (화면이 멈춘다.)
- 주어가 '시스템'이나 '기능'이고, 이것이 '실행될 때' 발생하는 '이상 현상'을 설명할 때입니다.
반응형